Cân nhắc C++ mã sau:Liệu ngoại lệ được ném vào khối đánh bắt có bị chặn bởi các khối đánh bắt sau này không?
try {
throw foo(1);
} catch (foo &err) {
throw bar(2);
} catch (bar &err) {
// Will throw of bar(2) be caught here?
}
Tôi mong chờ câu trả lời là không vì nó không phải là bên trong khối try
và tôi thấy trong một câu hỏi câu trả lời là không cho Java, nhưng muốn xác nhận C++ cũng là Không. Có, tôi có thể chạy một chương trình thử nghiệm, nhưng tôi muốn biết định nghĩa ngôn ngữ của hành vi trong trường hợp từ xa mà trình biên dịch của tôi có lỗi.
nên cải thiện câu trả lời rằng 'bar (2)' sẽ bị bắt trong khối catch k trong hàm 'main()'. Điều này sẽ làm cho câu trả lời rõ ràng hơn. – zar