อะไรคือความแตกต่างระหว่าง
try {
fooBar();
} finally {
barFoo();
}
และ
try {
fooBar();
} catch(Throwable throwable) {
barFoo(throwable); // Does something with throwable, logs it, or handles it.
}
ฉันชอบเวอร์ชันที่สองมากกว่าเพราะมันทำให้ฉันสามารถเข้าถึง Throwable ได้ มีความแตกต่างทางตรรกะหรือรูปแบบที่ต้องการระหว่างสองรูปแบบหรือไม่?
นอกจากนี้ยังมีวิธีเข้าถึงข้อยกเว้นจากประโยคสุดท้ายหรือไม่?
Throwable
จากfinally
บล็อกเพราะมีอาจจะไม่เป็นThrowable