最佳答案
这两者有什么区别
try {
fooBar();
} finally {
barFoo();
}
还有
try {
fooBar();
} catch(Throwable throwable) {
barFoo(throwable); // Does something with throwable, logs it, or handles it.
}
我更喜欢第二个版本,因为它让我可以使用 Throwable。这两种变体之间是否存在逻辑上的区别或者更好的约定?
另外,是否有从 finally 子句访问异常的方法?