当您开始一个新的Laravel项目时,已经为您配置了错误和异常处理。
App \ Exceptions \ Handler类是记录由应用程序触发的所有异常,然后将其呈现给用户的地方。 在本文档中,我们将更深入地研究此类。
config / app.php配置文件中的debug选项决定向用户实际显示多少有关错误的信息。 默认情况下,此选项设置为尊重APP_DEBUG环境变量的值,该值存储在您的.env文件中。
对于本地开发,应将APP_DEBUG环境变量设置为true。 在生产环境中,此值应始终为false。 如果在生产中将该值设置为true,则可能会向应用程序的最终用户暴露敏感的配置值。
所有异常均由App \ Exceptions \ Handler类处理。 此类包含一个register方法,您可以在其中注册自定义异常报告程序和渲染器回调。
我们将详细研究每个概念。 异常报告用于记录异常或将其发送到Flare,Bugsnag或Sentry等外部服务。 默认情况下,将根据您的日志记录配置记录异常。 但是,您可以随意记录异常。
例如,如果您需要以不同的方式报告不同类型的异常,则可以使用reportable方法注册一个Closure,该Closure在需要报告给定类型的异常时应执行。 Laravel将通过检查闭包的类型提示来推断闭包报告的异常类型:
use App\Exceptions\CustomException;
/**
* Register the exception handling callba