Php set_异常处理程序试图捕获错误
以下是我用于在全局级别捕获遗漏的异常和错误的代码:Php set_异常处理程序试图捕获错误,php,Php,以下是我用于在全局级别捕获遗漏的异常和错误的代码: set_exception_handler( function( Exception $e ) { $exceptionCode = $e->getCode(); switch ( $exceptionCode ) { case '42000': # Database FlashMessages::flashIt( 'message', 'There is a syntax err
set_exception_handler( function( Exception $e ) {
$exceptionCode = $e->getCode();
switch ( $exceptionCode ) {
case '42000': # Database
FlashMessages::flashIt( 'message', 'There is a syntax error in the db query' );
include( Settings::ABSPATH . '/src/views/message.php' );
var_dump( $e );
exit;
break;
default:
FlashMessages::flashIt( 'message', 'Something unpredicted happened.' );
include( Settings::ABSPATH . '/src/views/message.php' );
var_dump( $e );
exit;
break;
}
} );
set_error_handler( function( $errno, $errstr, $errfile, $errline ) {
FlashMessages::flashIt( 'message', 'An error happened.' );
include( Settings::ABSPATH . '/src/views/message.php' );
var_dump( $errstr );
exit;
} );
我所期望的是:
集合异常处理程序捕获的所有异常。
集合错误处理程序捕获的所有错误
我所拥有的:set_exception_处理程序试图捕获错误并生成问题:致命错误:未捕获类型错误:传递给{closure}()的参数1必须是异常实例,给定的错误实例
即使我完全删除了set\u exception\u处理程序,set\u error\u处理程序也不会捕获此类错误
问:我如何从这些全局函数中发现这两个函数都忽略的错误类型 将异常处理程序参数类型从
exception
更改为Throwable
。