Bạn đang xem: Try catch trong c++ code example
Bởi vì bọn họ đang tạo một exception có kiểu const char*, vì thế trong khi bắt exception này, họ phải thực hiện const char* trong khối catch.
Biên dịch với chạy công tác C++ trên đang cho hiệu quả sau:

Standard Exception vào C++
C++ cung cấp một danh sách các Standard Exception được quan niệm trong mà bạn cũng có thể sử dụng trong số chương trình. Phần đa exception này được sắp xếp theo cấu trúc thứ tự cha-con như sau:

Bảng bên dưới là biểu đạt ngắn gọn gàng về từng exception được nói trong sơ trang bị trên:
std::exception | Một exception với lớp phụ vương của tất cả Standard Exception trong C++ |
std::bad_alloc | Có thể được ném vày new |
std::bad_cast | Có thể được ném vị dynamic_cast |
std::bad_exception | Đây là thiết bị bổ ích để giải pháp xử lý Unexpected Exception vào một chương trình C++ |
std::bad_typeid | Có thể được ném vày typeid |
std::logic_error | Một exception nhưng mà theo lý thuyết có thể được phát hiện bởi việc đọc code |
std::domain_error | Đây là 1 trong exception được ném khi một miền toán học chưa hợp lệ được sử dụng |
std::invalid_argument | Được ném do những tham số không hợp lệ |
std::length_error | Được ném lúc 1 std::string quá rộng được sản xuất ra |
std::out_of_range | Có thể được ném vị một phương thức, lấy ví dụ như std::vector cùng std::bitset::operator<>(). |
std::runtime_error | Một exception cơ mà theo định hướng không thể được phát hiện tại bởi vấn đề đọc code |
std::overflow_error | Được ném ví như một sự tràn luồng toán học (mathematical overflow) xuất hiện |
std::range_error | Xuất hiện khi bạn nỗ lực lưu giữ lại một giá bán trị bên phía ngoài dãy giá trị |
std::underflow_error | Được ném giả dụ một mathematical underflow (sự tràn dưới) xuất hiện |
Định nghĩa Exception new trong C++
Bạn rất có thể định nghĩa những exception đến riêng các bạn bằng việc thừa kế và ghi đè chức năng lớp exception trong C++.
Xem thêm: Letter Of Authorization Letter Là Gì ? Định Nghĩa, Ví Dụ, Giải Thích
Lấy ví dụ như sau minh họa cách bạn cũng có thể sử dụng lớp std::exception để triển khai exception của riêng chúng ta theo một cách chuẩn chỉnh trong C++:
Biên dịch với chạy lịch trình C++ trên sẽ cho kết quả sau:

Ở đây, what() là một trong phương thức public được hỗ trợ bởi lớp exception trong C++ và nó đã có ghi đè bởi tất cả các lớp exception con. Lấy một ví dụ này trả về vì sao của một exception trong C++.