2016-11-13 10 views
1

PHPをset_error_handlerに正しく設定してもらえますか?私は例外としてPHP をスローするコードを処理する必要があります。しかし、私はそれを正しく行う方法を知らない。今私は正しいとは思えないこのコードを持っています。PHP set_error_handlerを正しく設定する方法

set_error_handler(function($errno, $errstr, $errfile, $errline, array $errcontext) 
{ 
    throw new \Exception($errstr, $errno); 
}); 
$mailer->send($mail); 
restore_error_handler(); 

私がdocumentationで見たように、より複雑な解決策が必要です。しかし、私はすべての定数について混乱することはほとんどありません。 エレガントな方法でそれを設定する方法はありますか?それは、すべての定数を個別に設定することはありません。いくつかのエレガントな方法で例外にPHPの警告を含めるために、どのように

function($errno, $errstr, $errfile, $errline, array $errcontext) 
{ 
    if($errno >= E_USER_WARNING) throw new \Exception($errstr, $errno); 
}); 

: は、私のようなものを意味します。どうも。

答えて

0

私の場合、errnoの条件を満たさなければならず、真を返す必要があります。

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; 
}); 
関連する問題