gpt4 book ai didi

java - 导致异常的多个 Java 根本原因

转载 作者:行者123 更新时间:2023-12-04 20:45:11 24 4
gpt4 key购买 nike

我有一个有趣的场景,我在 catch 子句中设置了 HttpServletResponse 错误。 “response.sendError(..)”也会抛出异常。在异常处理期间处理异常以保留原始异常详细信息的最佳方法是什么?

我有这样的事情:

try {
...
} catch(Exception e) {
try {
response.sendError(500);
} catch(IOException e2) {
//Can I do something like:
//'throw new ServletException(e,e2)' here?
}
}

换句话说,将来自两个异常的信息捆绑到下一个抛出的异常中的最佳方法是什么?我不想在处理第二个异常时丢失第一个异常中的信息。

一般来说,多个 try catch 块对于可读性来说似乎很糟糕。理想情况下希望避免这种困惑。总是可以将嵌入的 try/catch 捆绑在一个方法中……尽管看起来仍然很糟糕,并且无法解决保留所有异常细节的问题。

最佳答案

尝试:

try {
...
} catch(Exception e) {
try {
response.sendError(500);
} catch(IOException e2) {
e2.initCause(e);
throw e2;
}
}

关于java - 导致异常的多个 Java 根本原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15776730/

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