Sự khác biệt giữa
try {
fooBar();
} finally {
barFoo();
}
và
try {
fooBar();
} catch(Throwable throwable) {
barFoo(throwable); // Does something with throwable, logs it, or handles it.
}
Tôi thích phiên bản thứ hai hơn vì nó cho tôi quyền truy cập vào Throwable. Có sự khác biệt logic nào hoặc một quy ước ưu tiên nào giữa hai biến thể không?
Ngoài ra, có cách nào để truy cập ngoại lệ từ mệnh đề cuối cùng không?
Throwable
từ cácfinally
khối, vì có thể không có mộtThrowable
.