我有以下代码来设置我的错误/异常处理程序:
// Set the exception handler
set_exception_handler(function($e) {
echo 'Exception';
});
// Set the error handler
set_error_handler(function($code, $message, $file, $line) {
throw new ErrorException($message, 0, $code, $file, $line);
});
我已阅读过许多文章,这些文章曾说过在set_error_handler回调函数中抛出异常。这应该意味着我只需要处理异常。但是,从不调用set_exception_handler回调函数,而是收到警告:
警告:带有消息的未捕获异常'ErrorException'
请注意我使用的是PHP 5.4。
答案 0 :(得分:2)
我尝试在下面运行PHP脚本,运行正常。
// set the exception handler
set_exception_handler(function($e) {
echo ' Exception';
});
// set the error handler
set_error_handler(function($code, $message, $file, $line) {
echo " Error [$message]";
throw new ErrorException($message, 0, $code, $file, $line);
},-1);
// trigger error
trigger_error('My own error.',E_USER_ERROR);
它返回:
错误[我自己的错误。]异常
与你的完全一样。我找不到你提供的代码有什么问题,问题可能在它之外吗?