📜  Drupal-错误处理

📅  最后修改于: 2020-10-25 10:15:34             🧑  作者: Mango


在本章中,我们将研究有关在Drupal站点上管理错误消息的Drupal错误处理。

错误处理是检测并找到错误解决方案的过程。可能是程序错误或通讯错误。

以下步骤描述了如何在Drupa中管理错误消息-

步骤1-转到“配置” ,然后单击“日志记录和错误”

Drupal错误处理

步骤2-将显示“日志记录和错误”页面,如下屏幕所示。

Drupal错误处理

以下是在上一屏幕中看到的字段的详细信息-

  • 要显示的错误消息-它指定要在Drupal站点上显示的错误消息。

    • -此选项不显示任何错误消息。

    • 错误和警告-此选项仅显示与错误和警告有关的消息。

    • 所有消息-此选项指定要在站点上显示的所有类型的错误消息,例如错误,警告等。

  • 要保留的数据库日志消息-表示要保留在数据库日志中的最大消息数。

Drupal使用_drupal_exception_handler($ exception)函数来处理网站上的错误。这些错误将不会包含在try / catch块中。当异常处理程序退出时,脚本将不会执行该函数。

_drupal_exception_handler的代码如下-

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 '

Additional uncaught exception thrown while handling exception.

'; print '

Original

'. _drupal_render_exception_safe($exception).'

'; print '

Additional

'. _drupal_render_exception_safe($excp2).'


'; } } }

该函数必须在每个Drupal请求中使用。该函数位于文件include / bootstrap.inc中的第2328行。

有两个对_drupal_exception_handler的字符串引用,例如bootstrap.inc文件中存在的_drupal_bootstrap_configuration()errors.inc文件中存在的_drupal_get_last_caller 。这两个文件都位于“ includes”文件夹中。