【发布时间】:2015-05-07 07:29:43
【问题描述】:
我有一个应用程序,其中我的控制器被分成特定的组(API、CMS 和前端),这已经使用路由器组进行了设置。我的问题是如何为每个组创建自定义错误处理。
例如,当任何 API 控制器操作发生异常时,我想返回带有错误代码和消息的 json,CMS 中的异常会输出详细的错误页面,前端的异常会发送用户访问通用 404 或 500 错误页面(视情况而定)。
我知道如何在每个控制器操作中手动执行此操作,但这可能会非常重复。理想情况下,我希望为每个处理程序创建一个处理程序并自动全面使用它。
我也知道 App\Exceptions\Handler 类,但是如果任何控制器组可以返回 ModelNotFoundException,例如,我如何区分异常来自哪里?
还有其他地方可以插入这种类型的异常处理程序吗?
【问题讨论】:
-
我有一个与这个问题非常相似的版本,我有一个充满 XML 和 JSON 返回方法的控制器。我需要捕获所有错误并以 JSON 或 XML 格式显示错误代码和错误消息,具体取决于哪个控制器操作。真的很难找到一种干净利落的方法。
标签: php laravel exception-handling laravel-5