Quelle est la différence entre
try {
fooBar();
} finally {
barFoo();
}
et
try {
fooBar();
} catch(Throwable throwable) {
barFoo(throwable); // Does something with throwable, logs it, or handles it.
}
J'aime mieux la deuxième version car elle me donne accès au Throwable. Existe-t-il une différence logique ou une convention préférée entre les deux variantes ?
En outre, y a-t-il un moyen d'accéder à l'exception de la clause finale ?