mpe*_*pen 7 php exception laravel laravel-5
当我这样做时,Laravel 返回 500:
trigger_error("Some message", E_USER_WARNING);
Run Code Online (Sandbox Code Playgroud)
我需要它不出错,但我确实希望它运行\App\Exceptions\Handler::report,将警告记录到 Sentry。
如何在 Laravel 5.2 中禁止将警告和错误转变为异常?
您可以编辑 laravel 的错误处理程序以仅报告警告HandleExceptions.php
public function handleError($level, $message, $file = '', $line = 0, $context = [])
{
$exception = new ErrorException($message, 0, $level, $file, $line);
if (E_USER_WARNING & $level) {
$this->getExceptionHandler()->report($exception);
}
elseif (error_reporting() & $level) {
throw $exception;
}
}
Run Code Online (Sandbox Code Playgroud)
用户警告:修改供应商代码通常不是一个好主意。
HandleExceptions您可以通过扩展类并在中注册新类来避免修改供应商代码Kernel.php
MyHandleExceptions extends HandleExceptions {
public function handleError($level, $message, $file = '', $line = 0, $context = [])
{
if (E_USER_WARNING & $level) {
$this->getExceptionHandler()->report(new ErrorException($message, 0, $level, $file, $line));
}
else {
return parent::handleError($level, $message, $file, $line, $context);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1839 次 |
| 最近记录: |