Drupal - Tratamento de Erros

Neste capítulo, estudaremos sobre o tratamento de erros do Drupal para o gerenciamento de mensagens de erro no site do Drupal.

O tratamento de erros é um processo de detecção e localização de soluções para os erros. Podem ser erros de programação de aplicativo ou erros comunicáveis.

As etapas a seguir descrevem como gerenciar mensagens de erro na Drupa -

Step 1 - Vá para Configuration e clique Logging and errors.

Step 2 - o Logging and errors a página será exibida conforme mostrado na tela a seguir.

A seguir estão os detalhes dos campos como vistos na tela anterior -

  • Error messages to display - Ele especifica mensagens de erro a serem exibidas no site Drupal.

    • None - Esta opção não exibe nenhuma mensagem de erro.

    • Errors and warnings - Esta opção exibe apenas mensagens relacionadas a erros e avisos.

    • All messages - Esta opção especifica todos os tipos de mensagens de erro, como erros, avisos, etc. a serem exibidos no site.

  • Database log messages to keep - Indica o número máximo de mensagens a serem mantidas no log do banco de dados.

Drupal usa _drupal_exception_handler ($exception)função para lidar com os erros no site. Esses erros não serão incluídos em um bloco try / catch. O script não executará a função quando um manipulador de exceção sair.

O código para _drupal_exception_handler é o seguinte -

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/>';
      }
   }
}

A função deve ser usada em todas as solicitações do Drupal. Esta função está presente na linha 2328 do arquivoincludes/bootstrap.inc.

Existem duas referências de string para _drupal_exception_handler tal como_drupal_bootstrap_configuration() presente no bootstrap.inc arquivo e_drupal_get_last_callerpresente no arquivo errors.inc. Ambos os arquivos estão presentes no‘includes’ pasta.