加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

借助PHP自定义错误处理器处理出错信息

发布时间:2022-07-06 14:32:26 所属栏目:PHP教程 来源:互联网
导读:假如您是PHP老手,当然知道当PHP脚本出错时发生了什么事情。此时PHP解析器将在屏幕上给出错误信息,如 Fatal error: Call to undefined function on line 19 --,因此程序在此处终止。这个信息会吓到客户,他可能立即打电话和你进行咨询。 本文中,我将阐述
  假如您是PHP老手,当然知道当PHP脚本出错时发生了什么事情。此时PHP解析器将在屏幕上给出错误信息,如 Fatal error: Call to undefined function on line 19 --,因此程序在此处终止。这个信息会吓到客户,他可能立即打电话和你进行咨询。
 
 
  本文中,我将阐述如何使用PHP的错误处理API构建用户自定义的错误处理器,并且说明如何以简单而友好的方式显示和治理脚本的错误信息。
 
 
  表A
 
  <?php
  // display warnings and errors
  error_reporting(E_WARNING | E_ERROR);
  // this will generate a notice, which will never be displayed
  echo $undefinedVar;
  // this will generate a fatal error, which will be displayed
  callUndefFunc();
  ?>
  将表B中的代码与上面的进行比较发现,Listing B中隐藏错误信息甚至隐藏致命信息,使得错误信息不会被显示出来。
 
  表B
 
  <?php
  // turn off error display
  // no errors will be displayed
  error_reporting(0);
  // this will generate a notice
  echo $undefinedVar;
  // this will generate a fatal error
  callUndefFunc();
  ?>
  表C中的代码将所有错误信息甚至简单的注重事项都显示出来:
 
  表C
 
  <?php
  // all errors will be displayed
  error_reporting(E_ALL);
  // this will generate a notice
  echo $undefinedVar;
  // this will generate a fatal error
  callUndefFunc();
  ?>
  如以上3个例子所示,error_reporting()函数在控制错误发生时,在屏幕上显示内容非常重要。这里的要害字是displayed,其表达的意思是错误不被显示而不是错误没有发生。因此,发生致命错误时(例如不正确的函数调用),程序将被终止;但是,此时没有任何消息显示给用户。

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读