我有多个控制器,它们的异常在 ControllerAdvice
. 所有控制器都使用公共异常类型(如 HttpClientException, DBException
等)。但是有一个特定的控制器,它应该以不同的方式处理异常。
在我当前的实现中,这个特定控制器的所有方法都用try-catch和throw Package CustomException
如有例外。然后,在 ControllerAdvice
我处理这种类型的异常。
但是,我想处理中的所有异常 ControllerAdvice
以及摆脱 CustomException
并尝试控制器方法中的catch。
有没有办法在异常通知中找到源控制器的名称?我可以检查它并以不同的方式处理异常。或者有其他解决办法?
1条答案
按热度按时间dphi5xsq1#
在控制器建议中,您可以为自定义异常提供如下处理程序。
正如在最后一块中提到的,您可以从抛出异常的位置获取类名,并利用该名称分支出您的内容。