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.