我正在使用 Spring 4 和 Tomcat。问题是有时我必须在我的过滤器中抛出一个(自定义)RuntimeException(控件甚至没有到达 Controller )。问题是因为我没有抛出 tomcat 理解的异常,它被转换为 500(内部服务器错误)。我相信 403 Forbidden 会比 500 更好(对于我的自定义异常(exception))。我查看了 @ExceptionHandler
和 @ControllerAdvice
注释。但这些只有在控制权到达 Controller 时才有效。
到目前为止,我在过滤器的 HTTPResponse
中手动将状态设置为 403。有没有更好的方法来处理这种情况?
最佳答案
you should use something like this
在 web.xml 中设置错误处理程序
<error-page>
<exception-type>java.lang.RuntimeException</exception-type>
<location>/handleExceptionService</location>
</error-page>
因此,当您获得服务时,您可以随心所欲地处理错误。
祝你好运!!!
关于java - 如何处理过滤器中抛出的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32600301/