Tất cả ngoại lệ tăng có được lấy từ std :: exception không? Nếu không phải tất cả chúng đều xuất phát từ một số lớp ngoại lệ cơ sở?tăng ngoại lệ
Trả lời
Theo the documentationboost::exception
không được kế thừa std::exception
.
FAQ giải thích lý do.
Tuy nhiên this page giải thích cách sử dụng đúng ngoại lệ Boost.
Tôi tin như vậy. Không thể nghĩ về một thư viện tăng ném một cái gì đó không std :: ngoại lệ dựa.
Thư viện "công dân Tăng cường tốt" nên sử dụng boost::throw_exception
để hỗ trợ các cấu hình xử lý ngoại lệ bị vô hiệu hóa.
Các boost::throw_exception
chức năng yêu cầu loại trừ thông qua xuất phát công khai từ std::exception
(như các phiên bản 1.37.0 hoặc ở vùng lân boost::throw_exception
sẽ phát hành một lỗi biên dịch nếu yêu cầu đó không được đáp ứng.) Ngoài ra và theo mặc định, trường hợp ngoại lệ phát ra sử dụng boost::throw_exception
lấy từ số boost::exception
.
Tuy nhiên, không yêu cầu thư viện Boost ném ngoại lệ qua boost:throw_exception
hoặc để lấy được từ std::exception
.
- 1. ruby - tăng ngoại lệ với ngoại lệ
- 2. Tăng ngoại lệ trong Rcpp
- 3. Generalized dịch ngoại lệ cho tăng python
- 4. Có sự khác biệt nào giữa "tăng ngoại lệ()" và "tăng ngoại lệ" không có dấu ngoặc đơn không?
- 5. python: phục hồi ngoại lệ từ khối try nếu khối finally tăng ngoại lệ
- 6. Tăng cường đối với ngoại lệ vòng lặp
- 7. Làm thế nào để tăng ngoại lệ trong Delphi?
- 8. In Loại ngoại lệ Python (Tăng trong vải)
- 9. Tại sao lỗi I/O không thể tăng ngoại lệ?
- 10. mã hóa Base64 sử dụng tăng ném ngoại lệ
- 11. Cách thích hợp để tăng ngoại lệ trong python?
- 12. C#: Bạn có tăng hoặc ném một ngoại lệ?
- 13. Thiếu ngoại lệ trong quy trình tăng cường
- 14. Python - Có thể buộc tăng ngoại lệ bất kể thử/ngoại trừ khối không?
- 15. Có thể một đối tượng Ngoại lệ tăng thêm ngoại lệ khác do lỗi nội bộ của nó không?
- 16. Làm cách nào để tăng ngoại lệ trong Rails để nó hoạt động giống như các ngoại lệ Rails khác?
- 17. Ngoại lệ Java và Ngoại lệ C++
- 18. recursive_directory_iterator ném ngoại lệ
- 19. Ném ngoại lệ trong bộ xử lý ngoại lệ
- 20. ném mới std :: ngoại lệ vs ném std :: ngoại lệ
- 21. Tuyên truyền C++ ngoại lệ cho Cython - python ngoại lệ
- 22. Ngoại lệ 'Cố gắng thay đổi thông báo' ngoại lệ
- 23. Ngoại lệ trong các trường hợp ngoại lệ trong C++
- 24. Xử lý ngoại lệ PostgreSQL
- 25. HsqlException: ngoại lệ dữ liệu
- 26. pylint cảnh báo về 'trừ ngoại lệ:'
- 27. Delphi Xử lý ngoại lệ vấn đề với nhiều khối xử lý ngoại lệ
- 28. Floating điểm ngoại lệ
- 29. Python MySQLdb ngoại lệ
- 30. autoFocus ném ngoại lệ
Boost.Exception là một khuôn khổ cho các ngoại lệ có thể lưu trữ và có thể ném lại được. Chúng không được ném trực tiếp từ bất kỳ thư viện tăng cường nào. Câu hỏi thường gặp http://www.boost.org/doc/libs/1_39_0/libs/exception/doc/frequently_asked_questions.html giải thích lý do tại sao 'boost :: exception' không kế thừa từ' std :: exception'. –