Esempio Online Anteprima
Descrizione: Modifica messaggio d'errore predefinito
Sorgente PHP: examples/error/exception.php

La gestione degli eccezioni è centralizzata e gestita dalla classe: ClsException (exception.class.php). Il comportamento di default della classe è quello di visualizzare l'errore di sistema e terminare l'esecuzione del programma. Esistono due eventi associati generati dalla classe, tramite i quali è possibile gestire l'eccezione ed in eventuale inibire il comportamento di default:

  • before_exception_error($exception) possiamo eseguire del codice prima di visualizzare l'errore, modificare il messaggio d'errore o infine impostando return false non visualizzare alcun messaggio di errore.
  • after_exception_error($exception) permette di eseguire del codice dopo la visualizzazione dell'errore e impostando return false non terminare l'esecuzione del programma.
<?php
function before_exception_error($exception
{
    
$exception->param['errno'] = .....;
    
$exception->param['message'] = .....
    
$exception->param['errfile'] = .....;
    
$exception->param['errline'] = .....;
    
$exception->param['title'] = .....;
    return 
false;    // disabilita il comportamento di default(die)
}

function 
after_exception_error($exception
{
    
// i parametri $exception->param sono disponibili in sola lettura.
    
return false;    // disabilita il comportamento di default(die)
}
?>

Le eccezioni vengono generate dal sistema durante l'esecuzione del programma e possono essere di diversa natura potrebbe essere non necessario intercettare tutte, in questo caso si può intervenire all'interno del file class/system.class.php riga:

<?php
error_reporting
(E_ALL|E_STRICT);
?>

altri valori ammissibili sono:
E_ERROR
E_NOTICE
E_WARNING
E_PARSE
E_CORE_ERROR
E_CORE_WARNING
E_COMPILE_ERROR
E_COMPILE_WARNING
E_USER_ERROR
E_USER_WARNING
E_USER_NOTICE
E_RECOVERABLE_ERROR
per maggiori informazioni ti consigliamo comunque di consulare la guida php relativa al comando error_reporting