Java 最后使用而没有捕获

Java 最后使用而没有捕获,java,try-catch-finally,throwable,Java,Try Catch Finally,Throwable,我想执行一个测试。无论它是否通过或抛出错误,我都要关闭它打开的案例。我在类字符串的顶部有case=null; 然后在executeText()中,我在案例打开后设置它 所以我这样做了: try { executeTest(tContext); } catch (Throwable t) { throw t; } finally { if (theCase != null) { closeCase(user, theCase); } } 我想知道。我需

我想执行一个测试。无论它是否通过或抛出错误,我都要关闭它打开的案例。我在类字符串的顶部有case=null; 然后在executeText()中,我在案例打开后设置它

所以我这样做了:

try {
    executeTest(tContext);
} catch (Throwable t) {
    throw t;
} finally {
    if (theCase != null) {
      closeCase(user, theCase);
    }
}

我想知道。我需要这个接球器吗?我仍然希望抛出错误,但首先我希望它关闭案例。如果我不接住它并把它扔出去,我会最终不扔吗?或者它不会被捕获并抛出异常,而不会执行finally?我对finally有点不清楚。

finally将被执行,而不管是否抛出异常,或者是否从catch块中重新抛出

我需要这个接球器吗

不,你没有


事实上,它是有害的,因为如果您捕获并抛出类似的
Throwable
,那么对于某些版本的Java,您将需要将封闭方法声明为
Throwable
。。。等等(这是Java 8中的地址,IIRC。)

这是Java吗?
try-catch-finally
块的行为因语言(C#、Java等)而异。