我有点怀疑这是可能的,但获得更多关于这方面的信息会非常有帮助。我想知道如何捕获函数尚未抛出的所有异常。
说我有一个功能:
public int func(int a, int b) throws IOException, EOFException {
try {
doSomething(a, b);
} catch (AllExceptionsExceptionIOandEOF e) {
doSomethingWithError(e);
}
return 0;
}
有没有办法告诉Java如何做到这一点?我知道为所有人抛出泛型Exception
作品,但我想抛出除了抛出的异常之外的所有东西。
如果这被认为是不好的做法,为什么?什么是实现相同目标的好选择?
(PS——我知道,我知道所有可能的异常都需要单独处理的格言。就我的目的而言,我只想捕获错误,将它们记录到数据库中,然后看看会发生什么我们错过的事情开发。Exception
当我的函数已经抛出 2 个异常时,我不愿意捕捉泛型)
我突然想到,一种方法是说:
try {
doSomething(a, b);
} catch (AllExceptionsExceptionIOandEOF e) {
doSomethingWithError(e);
if (e instanceof IOException)
throw e;
if (e instanceof EOFException)
throw e;
}
有没有更优雅的方式来做到这一点?
编辑 - 不幸的是,该项目是在 Java 6 合规性下完成的。我知道 Java 7 使 Try/Catches 更加灵活。