gpt4 book ai didi

java - 谁处理 RuntimeException?

转载 作者:行者123 更新时间:2023-12-01 12:31:27 27 4
gpt4 key购买 nike

我有一个扩展 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 {
...
}
}

[更新]我可以在调用 doSomething() 的 doPost 内部添加 try/catch block 吗?

最佳答案

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

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

关于java - 谁处理 RuntimeException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25897909/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com