PHP捕获异常register_shutdown_function和error_get_last的使用

Posted woods1815

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();

 

以上是关于PHP捕获异常register_shutdown_function和error_get_last的使用的主要内容,如果未能解决你的问题,请参考以下文章

php 异常处理 如何捕获异常??必须要抛出才可以吗?

PHP 异常处理 总出现致命错误 无法捕获异常

php try catch 捕获哪些错误

PHP Catch没有捕获自定义异常处理程序的异常

PHP 捕获全局异常

PHP:异常和可捕获的致命错误有啥区别?