Drupal - Manejo de errores

En este capítulo, estudiaremos sobre el manejo de errores de Drupal para administrar mensajes de error en el sitio de Drupal.

El manejo de errores es un proceso de detección y búsqueda de soluciones para los errores. Pueden ser errores de aplicación de programación o errores comunicables.

Los siguientes pasos describen cómo administrar los mensajes de error en Drupa:

Step 1 - Ir a Configuration y haga clic en Logging and errors.

Step 2 - el Logging and errors La página se mostrará como se muestra en la siguiente pantalla.

A continuación se muestran los detalles de los campos como se ve en la pantalla anterior:

  • Error messages to display - Especifica los mensajes de error que se mostrarán en el sitio de Drupal.

    • None - Esta opción no muestra ningún mensaje de error.

    • Errors and warnings - Esta opción muestra solo mensajes relacionados con errores y advertencias.

    • All messages - Esta opción especifica todos los tipos de mensajes de error como errores, advertencias, etc. que se mostrarán en el sitio.

  • Database log messages to keep - Indica el número máximo de mensajes a mantener en el registro de la base de datos.

Usos de Drupal _drupal_exception_handler ($exception)función para manejar los errores en el sitio. Estos errores no se incluirán en un bloque try / catch. El script no ejecutará la función cuando salga un controlador de excepciones.

El código para _drupal_exception_handler es como sigue -

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 función debe usarse en cada solicitud de Drupal. Esta función está presente en la línea 2328 del archivo.includes/bootstrap.inc.

Hay dos referencias de cadena para _drupal_exception_handler como_drupal_bootstrap_configuration() presente en el bootstrap.inc archivo y_drupal_get_last_callerpresente en el archivo errors.inc. Ambos archivos están presentes en el‘includes’ carpeta.