У меня есть инструкция, которая выдает множество проверенных исключений. Я могу добавить все блоки catch для всех из них следующим образом:
try {
methodThrowingALotOfDifferentExceptions();
} catch(IOException ex) {
throw new MyCustomInitializationException("Class Resolver could not be initialized.", ex);
} catch(ClassCastException ex) {
throw new MyCustomInitializationException("Class Resolver could not be initialized.", ex);
} catch...
Мне это не нравится, потому что все они обрабатываются одинаково, так что есть дубликат кода, а также много кода для записи. Вместо этого можно поймать Exception
:
try {
methodThrowingALotOfDifferentExceptions();
} catch(Exception ex) {
throw new MyCustomInitializationException("Class Resolver could not be initialized.", ex);
}
Это было бы нормально, за исключением того, что я хочу, чтобы все исключения во время выполнения удалялись, не будучи пойманными. Есть ли какие-либо решения? Я думал, что какое-то умное обобщенное объявление о типе исключаемого исключения может сделать трюк (или, может быть, нет).