Java 最后使用而没有捕获
我想执行一个测试。无论它是否通过或抛出错误,我都要关闭它打开的案例。我在类字符串的顶部有case=null; 然后在executeText()中,我在案例打开后设置它 所以我这样做了: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); } } 我想知道。我需
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等)而异。