-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[3] Come posso ottenere migliori messaggi di errore da un programma CGI?

Usate il modulo CGI::Carp. Esso sostituisce "warn" e "die", oltre alle funzioni "carp", "croak" e "confess" del normale modulo Carp, con delle versioni più esplicative e più sicure. I messaggi saranno comunque inviati al normale error log del server.

    use CGI::Carp;
    warn "Questa e` solo una lamentela";
    die "Ma questa e` una cosa piu` seria";

Il seguente utilizzo di CGI::Carp redireziona inoltre gli errori ad un file di vostra scelta, collocato in un blocco BEGIN, in modo che vengano anche catturati i warning generati al momento della compilazione:

    BEGIN {
        use CGI::Carp qw(carpout);
        open(LOG, ">>/var/local/cgi-logs/miolog-cgi")
            or die "Non riesco ad aggiunger righe a miolog-cgi: $!\n";
        carpout(*LOG);
    }

Potete anche far sì che gli errori fatali ritornino al browser del client, il che va bene per il debugging ma potrebbe confondere l'utente.

    use CGI::Carp qw(fatalsToBrowser);
    die "Brutto errore qui";

Anche se l'errore accade prima che abbiate inviato gli header HTTP, il modulo cercherà di occuparsi di ciò, così da evitare i temuti errori 500 del server. I normali warning continueranno ad essere inviati all'error log del server (o in qualunque posto li abbiate redirezionati con "carpout"), preceduti dal nome dell'applicazione e dalla data.

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google