นี่อาจดูเหมือนคำถาม 101 รายการและฉันคิดว่าฉันรู้คำตอบ แต่ตอนนี้พบว่าตัวเองต้องการตรวจสอบอีกครั้ง ในรหัสของชิ้นส่วนด้านล่างนี้ข้อยกเว้นจะถูกโยนลงในบล็อกการจับครั้งแรกจากนั้นจะถูกจับโดยบล็อกการจับข้อยกเว้นทั่วไปด้านล่างหรือไม่
try {
// Do something
} catch(IOException e) {
throw new ApplicationException("Problem connecting to server");
} catch(Exception e) {
// Will the ApplicationException be caught here?
}
ฉันคิดเสมอว่าคำตอบจะไม่ แต่ตอนนี้ฉันมีพฤติกรรมแปลก ๆ ที่อาจเกิดจากสิ่งนี้ คำตอบน่าจะเหมือนกันสำหรับภาษาส่วนใหญ่ แต่ฉันทำงานใน Java