Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317

    set_error_handler e le costanti: E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR.

    Non si possono utilizzare vero? Ho provato in ogni modo a catturare i fatal error, parse error... Ma non ci sono riuscito.

    Mi date conferma che:

    Codice PHP:
        function myErrorHandler($errNo$errStr$errFile$errLine) {
            switch (
    $errNo) {
                
    /**
                 * That's is inutil and deprecated, beacause php don't
                 * catch fatal and parse errors.
                 */
                
    case E_ERROR:
                case 
    E_PARSE:
                case 
    E_CORE_ERROR:
                case 
    E_COMPILE_ERROR:
                        exit;
                break;
            }
        }

        
    set_error_handler("myErrorHandler");

        
    // Try parse error
        
    dfshk432kjdklfs 
    Non funzionerà mai...?

  2. #2
    Una funzione di error handling definita in un file php che non si compila non potrà di certo essere richiamata su errore di compilazione...

    Detto in altri termini:

    1)php carica questo tuo file
    2)php cerca di compilarlo e non ci riesce
    3)php termina

    FORSE, e dico forse, potrebbe funzionare se a contenere l'errore di parsing fosse un file che includi in un file PRIVO di errori di parsing che definisce l'error handler:

    set_error_handler(...);

    include("file_con_errore.php");

    Ma anche in questo caso, secondo me ha utilità ZERO cercare di trappare gli errori di compilazione da dentro php: semplicemente, PRIMA di mettere in produzione uno script lo avrai testato sulla tua macchina da sviluppo, correggendo quindi prima tutti gli errori fatali di compilazione, no?

    In più, se proprio vuoi, puoi sempre chiedere a php stesso di compilare uno script senza eseguirlo:

    C:\Program Files\Php55\php-win.exe -l %File%

    Ti compila il file mostrando gli eventuali errori fatali senza eseguirlo.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.