Drupal - Gestione degli errori
In questo capitolo, studieremo la gestione degli errori di Drupal per la gestione dei messaggi di errore sul sito Drupal.
La gestione degli errori è un processo di rilevamento e ricerca delle soluzioni per gli errori. Può essere errori dell'applicazione di programmazione o errori comunicabili.
I seguenti passaggi descrivono come gestire i messaggi di errore in Drupa:
Step 1 - Vai a Configuration e fare clic Logging and errors.
Step 2 - Il Logging and errors verrà visualizzata la pagina come mostrato nella schermata seguente.
Di seguito sono riportati i dettagli dei campi come mostrato nella schermata precedente:
Error messages to display - Specifica i messaggi di errore da visualizzare sul sito Drupal.
None - Questa opzione non visualizza alcun messaggio di errore.
Errors and warnings - Questa opzione visualizza solo i messaggi relativi a errori e avvisi.
All messages - Questa opzione specifica tutti i tipi di messaggi di errore come errori, avvisi, ecc. Da visualizzare sul sito.
Database log messages to keep - Indica il numero massimo di messaggi da conservare nel log del database.
Usi di Drupal _drupal_exception_handler ($exception)funzione per gestire gli errori sul sito. Questi errori non verranno racchiusi in un blocco try / catch. Lo script non eseguirà la funzione quando un gestore di eccezioni esce.
Il codice per _drupal_exception_handler è il seguente -
function _drupal_exception_handler($exception) {
require_once DRUPAL_ROOT . '/includes/errors.inc';
try {
// display the error message in the log and return the error messages to the user
_drupal_log_error(_drupal_decode_exception($exception), TRUE); } catch (Exception $excp2) {
// Another uncaught exception was thrown while handling the first one.
// If we are displaying errors, then do so with no possibility of
a further uncaught exception being thrown.
if (error_displayable()) {
print '<h1>Additional uncaught exception thrown while handling exception.</h1>';
print '<h2>Original</h2> <p>'. _drupal_render_exception_safe($exception).'</p>'; print '<h2>Additional</h2> <p>'. _drupal_render_exception_safe($excp2).'</p><hr/>';
}
}
}
La funzione deve essere utilizzata su ogni richiesta Drupal. Questa funzione è presente alla riga 2328 nel fileincludes/bootstrap.inc.
Esistono due riferimenti di stringa a _drupal_exception_handler ad esempio_drupal_bootstrap_configuration() presente in bootstrap.inc file e_drupal_get_last_callerpresente nel file errors.inc. Entrambi questi file sono presenti nel file‘includes’ cartella.