捕捉PHP中的warning 和 notice 错误

xyj2156 PHP 2017-12-20

PHP中仅仅靠 try catch 捕获异常不够,还需要一下几个函数绑定捕获函数

一、 set_error_handler


一般用于捕捉: E_NOTICE 、E_USER_ERROR、E_USER_WARNING、E_USER_NOTICE

不能捕捉:
E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR and E_COMPILE_WARNING。
一般与trigger_error("...", E_USER_ERROR),配合使用。

二、set_exception_handler

设置默认的异常处理程序,用于没有用 try/catch 块来捕获的异常。 在 exception_handler 调用后异常会中止。 
与throw new Exception('Uncaught Exception occurred'),连用。

三、 register_shutdown_function

执行机制是:php把要调用的函数调入内存。当页面所有PHP语句都执行完成时,再调用此函数。
一般与trigger_error("...", E_USER_ERROR),配合使用。

四、restore_error_handler()函数

定义和用法 restore_error_handler() 函数恢复之前的错误处理程序,该程序是由 set_error_handler() 函数改变的。
该函数永远返回 true。
是 set_error_handler()的反函数。
PREV
MySQL 使用explain分析索引使用的 实验(环境 MySQL 5.7.20)
NEXT
PHP 生成 csv 用 Mac excel 打开乱码

评论(0)

评论已关闭