我有一个有趣的场景,我在 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 捆绑在一个方法中......虽然看起来仍然很糟糕,并且不能解决保留所有异常细节的问题。