php Slim框架中不使用try/except的自定义错误处理

php Slim框架中不使用try/except的自定义错误处理,php,api,rest,slim,Php,Api,Rest,Slim,使用php和Slim框架,是否有一种方法可以设置错误处理程序,使自定义异常能够自动触发所需的HTTP响应,而不必强制捕获所有不同的异常类型 我从我的项目中知道这样的例子,但不是php的等价物 例如,无论在代码中引发异常的位置如何,我都希望自定义BadCustomerDataException()触发HTTP 400响应,WaitingForResourceException()触发423响应,FaultyServerIsDeadAgainException()触发500响应 目前,我正在使用Sl

使用php和Slim框架,是否有一种方法可以设置错误处理程序,使自定义异常能够自动触发所需的HTTP响应,而不必强制捕获所有不同的异常类型

我从我的项目中知道这样的例子,但不是php的等价物

例如,无论在代码中引发异常的位置如何,我都希望自定义BadCustomerDataException()触发HTTP 400响应,WaitingForResourceException()触发423响应,FaultyServerIsDeadAgainException()触发500响应


目前,我正在使用Slim版本3,并计划对版本4进行更新。

在Slim 4中,您可以向ErrorMiddleware添加自定义。您还可以在ErrorMiddleware之前添加自己的中间件,以捕获和映射自己的异常:

示例


您使用的是哪个版本的Slim?您想要一个自定义的错误处理中间件,对吗?在Slim 4中,您可以向ErrorMiddleware添加自定义错误处理程序,或者在ErrorMiddleware之前添加自己的中间件,以捕获并映射自己的执行选项:@odan。谢谢,您的带有HttpNotFoundException的博客示例正是我所需要的。你能把它作为答案粘贴进去吗?