错误处理

最后更新于:2022-04-01 15:07:48

所有的异常都由 App\Exceptions\Handler 类处理。这个类包含两个方法: report 和 render 。 report 方法用来记录异常或把异常传递到外部服务,例如: BugSnag 。默认情况下, report 方法只基本实现简单地传递异常到父类并于父类记录异常。然而,你可以依你所需自由地记录异常。如果你需要使用不同的方法来报告不同类型的异常,你可以使用 PHP 的 instanceof 比较运算符: ~~~ /** * 报告或记录异常。 * * 这是一个发送异常到 Sentry、Bugsnag 等服务的好地方。 * * @param \Exception $e * @return void */ public function report(Exception $e) { if ($e instanceof CustomException) { // } return parent::report($e); } ~~~ render 方法负责把异常转换成应该被传递回浏览器的 HTTP 响应。默认情况下,异常会被传递到基础类并帮你产生响应。然而,你可以自由的检查异常类型或返回自定义的响应。 异常处理进程的 dontReport 属性是个数组,包含应该不要被纪录的异常类型。由 404 错误导致的异常默认不会被写到日志文件。你可以依照需求添加其他类型的异常到这个数组。
';