Яка різниця між
try {
fooBar();
} finally {
barFoo();
}
і
try {
fooBar();
} catch(Throwable throwable) {
barFoo(throwable); // Does something with throwable, logs it, or handles it.
}
Мені друга версія більше подобається, оскільки вона дає мені доступ до Throwable. Чи існує якась логічна різниця чи бажана умова між цими двома варіаціями?
Крім того, чи є спосіб отримати доступ до винятку із пропозиції "останнє"?
Throwable
зfinally
блоку, тому що не може бутиThrowable
.