Điều này có vẻ giống như một câu hỏi 101 lập trình và tôi đã nghĩ rằng tôi biết câu trả lời nhưng bây giờ thấy mình cần phải kiểm tra lại. Trong đoạn mã dưới đây, liệu ngoại lệ được ném trong khối bắt đầu tiên sau đó có bị bắt bởi khối bắt ngoại lệ chung bên dưới không?
try {
// Do something
} catch(IOException e) {
throw new ApplicationException("Problem connecting to server");
} catch(Exception e) {
// Will the ApplicationException be caught here?
}
Tôi luôn nghĩ câu trả lời sẽ là không, nhưng bây giờ tôi có một số hành vi kỳ quặc có thể gây ra bởi việc này. Câu trả lời có lẽ giống nhau đối với hầu hết các ngôn ngữ nhưng tôi đang làm việc trong Java.