我有一个声明会引发很多检查异常。我可以像这样为所有这些添加所有捕获块:
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);
}
没关系,除了我希望所有运行时异常都被丢弃而不被捕获。有什么解决办法吗?我在想一些聪明的对要捕获的异常类型的通用声明可能会起作用(或者可能不会)。