欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP捕获异常register_shutdown_function和error_get_last的使用

程序员文章站 2023-08-18 20:26:29
register_shutdown_function 注册一个会在php中止时执行的函数,注册一个 callback ,它会在脚本执行完成或者 exit() 后被调用。 error_get_last 获取最后发生的错误,包含type(错误类型),message(错误消息),file(发生错误所在的文 ......

 

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();