谁处理RuntimeException?

时间:2014-09-17 18:34:17

标签: java exception

我有一个类扩展HttpServlet包含以下两种方法。当客户端向在Tomcat服务器上运行的Web应用程序发出请求时,http请求将通过此类处理,但是如果doSomething方法抛出RunTimeException如何根据以下示例处理它?<​​/ p>
protected void doPost(HttpServletRequest reqst, HttpServletResponse resp) {
        doSomething();
}

private void doSomething() {
     if (false) {
        throw new RuntimeException("exception caught calling doSomething method");
     }
     else {
        ...
     }
}

[更新] 我可以在doPost中添加try / catch块来调用doSomething()吗?

1 个答案:

答案 0 :(得分:1)

将处理到达servlet容器代码的所有异常(即,由doPost()方法抛出或重新抛出的异常),以便Tomcat生成500响应,将Content-Type设置为text/html },并在正文中生成一个完整的HTML页面,表示发生了内部服务器错误,附加了异常的名称和堆栈跟踪。

RE:你的[更新]:是的,你可以在那里添加一个try-catch。实际上,任何合理的实现都将包含它。您希望您的应用程序指定向您的客户端发送的响应,而不是Tomcat或任何其他容器。