常用知识 - 获取上一个错误

  • 作者:KK

  • 发表日期:2016.9.16


以下脚本不会发生错误,因为屏蔽了NOTICE级别的报错:

error_reporting(~E_NOTICE);
$a = [];
echo $a[5] + 3;

还有这样也不会报错:

echo @file_get_contents('不存在的文件');

此时就要靠error_get_last函数来获取一下看看有没有报错了:

register_shutdown_function(function(){
	if($error = error_get_last()){
		echo '发生了错误' . PHP_EOL;
		print_r($error);
	}
});

echo @file_get_contents('不存在的文件');

输出:

发生了错误=> 2
    [message] => file_get_contents(不存在的文件在的文件=> D:\phpSduty\www\test\index.php
    [line] => 9
)