PHP捕获异常register_shutdown_function和error_get_last的使用

 

register_shutdown_function

注册一个会在php中止时执行的函数,注册一个 callback ,它会在脚本执行完成或者 exit() 后被调用。

 

error_get_last

获取最后发生的错误,包含type(错误类型),message(错误消息),file(发生错误所在的文件),line(发生错误所在的行)的一个数组,如果没有错误则返回null。

 

两个函数可以结合使用,获取程序发生的错误,并记录日志信息。

以下是个简单例子:

class errors
{
    /**
     *  回调函数
     */
    function shutdown()
    {
        // 获取错误
        $error = error_get_last();
        if ($error) {
            // 记录日志信息
            var_dump($error);
        }
    }
}
 
class test{
    function test_shutdown()
    {
        // 注册一个会在php中止时执行的函数 shutdown
        register_shutdown_function([new errors(), 'shutdown']);
        // 这里调用一个不存在的函数测试
        testaa();
    }
}
$test = new test();
$test->test_shutdown();

 

posted @ 2019-07-07 10:50  幽篁晓筑  阅读(631)  评论(0编辑  收藏  举报