旗下导航:搜·么
当前位置:网站首页 > PHP问题 > 正文

php自定义毛病处理器【php题目】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP问题浏览:119


导读:如果您是PHP熟手,固然晓得当PHP剧本失足时发作了什么事情。此时PHP剖析器将在屏幕上给失足误信息,如Fatalerror:Calltoundefinedfuncti...
如果您是PHP熟手,固然晓得当PHP剧本失足时发作了什么事情。此时PHP剖析器将在屏幕上给失足误信息,如 Fatal error: Call to undefined function on line 19 --,因而顺序在此处停止。这个信息会吓到客户,他能够马上打电话和你举行征询。

荣幸的是,这里有解决办法。PHP具有内置东西,能够让开发人员捕获剧本毛病然后将它们转到自定义的毛病处理器。此时则能够对处理器举行编程显现更多关于毛病的细致信息。(引荐进修:PHP编程从入门到通晓)

还能够将毛病写入文件或数据库以采用补救措施。有时候还能够对处理器编写顺序疏忽毛病音讯。

本文中,我将论述怎样运用PHP的毛病处理API构建用户自定义的毛病处理器,而且申明怎样以简朴而友爱的体式格局显现和治理剧本的毛病信息。

毛病范例和报告级别

我们从最基本的最先。PHP有三种最基本的毛病范例,从初级到高等分别为:注意、正告和毛病(或致命毛病)。通常情况下,注意和正告不会停止顺序;然则致命毛病则是风险毛病(比方,挪用一个没有定义的函数或参考一个不存在的对象),将致使顺序中断。这些毛病有能够在启动、剖析、编译或运行时发作。

关键字如E_NOTICE, E_ERROR等用于表明毛病的差别范例和品级。在PHP手册上能够获得它们的细致信息列表。

剧本阶段毛病显现由error_reporting()函数举行掌握。这一函数针对差别的毛病品级设置差别的参数。表A给出了运用此函数报告正告和致命毛病的剧本顺序。

表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,其表达的意义是毛病不被显现而不是毛病没有发作。因而,发作致命毛病时(比方不正确的函数挪用),顺序将被停止;然则,此时没有任何音讯显现给用户。

以上就是php自定义毛病处理器的细致内容,更多请关注ki4网别的相干文章!

标签:php