PHP:任何人都能解释这个异常处理程序错误吗


PHP: can anyone explain this Exception Handler error?

嗨,这里的任何人都可以帮助确定这里的错误是什么吗?求你了,我真的需要知道。提前感谢各位!帮我弄清楚下面的代码出了什么问题。

function exception_error_handler($errno, $errstir, $errfile, $errline ) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);;
}
set_error_handler("exception_error_handler");
/* Trigger exception */
strpos();

我不知道这个错误是什么,但它仍然保持错误输出。请帮我伙计们

在PHP中,通知和警告不会抛出异常。调用不带参数的strpos()是一个警告。该函数将您的自定义函数注册为error_handler,它基本上将所有通知和警告转换为异常。它对开发和调试很有用,很多框架都使用类似的东西来显示开发模式中的错误页面。

您能尝试以下代码来捕获您throw的自定义ErrorException吗?:

function exception_error_handler($errno, $errstir, $errfile, $errline ) {
    throw new ErrorException($errstr, $errno, 0, $errfile, $errline);;
}
set_error_handler("exception_error_handler");
try {
    /* Trigger exception */
    strpos();
    echo 'No exception was thrown';
}
//catch exception
catch(Exception $e) {
    echo 'Message: ' .$e->getMessage();
}