我正在开发网络服务。有时在我的测试过程中会抛出异常并显示在浏览器页面上。我不确定为什么即使“可能”抛出异常的代码也在 try-catch 块中,异常仍然打印在浏览器中。
我当然可以使用 Spring 或异常映射器(使用 JBoss)创建异常处理程序,但仍然有可能抛出未映射的异常,我不希望将其打印在浏览器上。
我怎样才能解决这个问题?
您可能会捕获已检查的异常,而浏览器上显示的可能是未检查的异常。一种方法是捕获 RuntimeException,它是所有未检查异常的父级,并在浏览器中显示有意义的错误。如果您是引发此类异常的 API 的所有者,那么值得阅读有关异常的小笔记。
在您的 web.xml 中,您可以像这样定义错误页面
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/WEB_INF/jsp/accessDenied.jsp</location>
</error-page>
等等...您可以使用任何其他错误代码,尤其是我认为更适合您的情况的错误 500 女巫