У меня есть интересный сценарий, в котором я устанавливаю ошибку HttpServletResponse в предложении catch. «Response.sendError (..)» также генерирует исключение. Каков наилучший способ справиться с исключениями при обработке исключений для сохранения исходной детали исключения?Множественный корень Java вызывает исключение
У меня есть что-то вроде этого:
try {
...
} catch(Exception e) {
try {
response.sendError(500);
} catch(IOException e2) {
//Can I do something like:
//'throw new ServletException(e,e2)' here?
}
}
Другими словами, что это лучший способ укутаться информацию из обоих исключений в следующем за исключением брошенную? Я не хочу потерять информацию из первого исключения при обработке второго.
В целом, несколько блоков catch catch кажутся ужасными для удобочитаемости. В идеале хотелось бы избежать этого беспорядка. Может всегда связывать встроенный try/catch в методе ... все равно кажется плохим, хотя и не позволяет сохранить все детали исключения.
Спасибо - не понял, что это было возможно ... Я думаю, вы не повезло, если вы имеете дело с исключением того, что уже есть первопричину. Однако должно быть хорошо для этого случая. –
Я думаю, вы можете создать больше исключений и соединить их. – ccleve
Как вы справитесь, если причина уже установлена на 'e2'? Это немного сложно. В вашем примере кода 'e2.initCause (e);' будет генерировать исключение, если причина уже установлена на 'e2'. – kevinarpe