你能帮我正确设置php set_error_handler 吗?我需要处理将php 警告作为异常的代码。但我不知道如何正确地做到这一点。现在我有这个代码,我认为这是不正确的。
n
正如我在documentation中看到的,它需要更复杂的解决方案。但我对所有这些常数都很困惑。 有没有办法以一些优雅的方式设置它,不会分别设置所有常量。 我的意思是:
set_error_handler( function( $errno, $errstr, $errfile, $errline, array $errcontext )
{
throw new \Exception( $errstr, $errno );
});
$mailer->send( $mail );
restore_error_handler();
那么如何以优雅的方式将PHP警告包含在Exception中。 THX。
答案 0 :(得分:0)
所以在我的情况下,必须为errno提供一个条件,它必须返回true。
set_error_handler( function( $errno, $errstr, $errfile, $errline, array $errcontext )
{
// Cause Php does not catch stream_socket_client warnings message.
if ( $errno == E_WARNING ) throw new \Exception( $errstr, $errno );
// Is necessary to handle other errors by default handler.
return true;
});