Hiện tại chúng tôi chỉ ném về lỗi không thể phục hồi do nguồn bên ngoài (ví dụ như dữ liệu chẳng hạn) và có một lần thử duy nhất bắt xung quanh toàn bộ quá trình thực hiện.Ngoại lệ nên được sử dụng như thế nào trong C++ hiện đại?
Khi nào/Tại sao/Ngoại lệ nên được sử dụng trong C++ hiện đại như thế nào?
C++ 11 có thay đổi câu trả lời cho câu hỏi trên không?
Exceptions nên được sử dụng cho điều kiện đặc biệt, những tình huống mà cần phải được thông qua lên các cuộc gọi stack vì bạn không thể có hiệu quả xử lý chúng ở cấp độ mà chúng đã xảy ra. –
"Tôi không thích cú pháp và thêm độ phức tạp của ngoại lệ" - trái với việc kiểm tra mã lỗi mỗi khi bạn gọi một hàm? Có nhiều lý do để không thích ngoại lệ nhưng tôi không nghĩ đây là một trong số đó. –
Trường hợp ngoại lệ tuyệt vời khi được sử dụng đúng cách. Chúng tôi sử dụng chúng cho những thứ như "vấn đề cấu hình" tức là bắt đầu một quá trình với một cấu hình xấu sẽ gây ra try/catch trong chính để bắt dòng cấu hình xấu. Chúng tôi cũng sử dụng rộng rãi chúng cho "lỗi đặc biệt", nếu chúng ta tìm thấy định dạng xấu trong một datastream đã biết, chúng ta đang đọc một ngoại lệ bị bắt ở mức cao "xấu messge" –