使用php和Slim Framework,有没有一种方法可以设置错误处理程序,以便我的自定义异常可以自动触发所需的HTTP响应,而不会强迫我捕获所有不同的异常类型?
我从带有python Flask的项目中知道了这样的示例,但没有php等价物。
例如,无论代码中的异常发生在哪里,我都希望我的自定义BadCustomerDataException()触发HTTP 400响应,而WaitingForResourceException()触发423响应,而FaultyServerIsDeadAgainException()触发500响应。
当前,我正在使用Slim版本3,并计划将其更新为版本4。
在Slim 4中,您可以将自定义error handler添加到ErrorMiddleware。您还可以在ErrorMiddleware之前添加自己的中间件,以捕获和映射自己的异常: