PHP如何自定义错误处理?
在做php开发时,我们开发的程序有时会出错,也许是代码的问题,又或者是用户输入的数据有问题,如果我们不对错误做定制,php就会显示一个比较丑陋的错误提示,而且会暴露我们的程序信息。那么我们该如何自定义错误处理?
操作方法
- 01
先看下PHP默认的错误提示,我们先写一个有问题的代码,除法运算我们除以0,大家都知道除法是不能除0的,程序也知道这个规则,所以它会报错。
- 02
页面运行后,显示了一个丑陋的错误信息,而且把代码文件给暴露出来了。
- 03
我们应该避免这种情况,自定义错误处理,让出错信息更友善。 可以调用php的set_error_handler函数,这个函数接收一个字符串参数,指明一个函数来自定义错误处理。
- 04
接着我们来定义这个错误处理的函数。 displayError函数里,我们重新对错误信息进行了包装输出。根据不同级别($errorNo)的错误,显示不同的信息。
- 05
现在再次运行页面,看下报错信息是怎样显示的。 如图,可以看到现在的报错信息比较友善了。 (你可以对这个报错信息做更美观的设计,这里只做示例。)
- 06
除了程序在执行时发现问题,触发错误外,我们还可以自己触发错误处理。比如是业务逻辑上的问题,而不是代码问题,我们也可以触发错误处理。 调用php的trigger_error函数就可以了,这个函数接收二个参数,第一个是错误信息,第二个是错误的级别。代码如图
- 07
运行后,看下现在的报错信息,如图,成功触发了错误处理。
赞 (0)