我有一个声明,抛出了很多被检查的异常。我可以添加所有的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...
我不喜欢这样,因为它们都以相同的方式处理,所以有一些代码复制,还有很多代码要写。相反可能会捕获异常:
try {
methodThrowingALotOfDifferentExceptions();
} catch(Exception ex) {
throw new MyCustomInitializationException("Class Resolver could not be initialized.", ex);
}
这将是正常的,除了我希望所有运行时异常被抛弃而不被抓住。有没有解决这个问题?我在想,一些聪明的通用声明的异常类型被捕获可能会做到这一点(或许不是)。