C++ 标准的异常
C++ 提供了一系列標準的異常,定義在 <exception> 中,我們可以在程序中使用這些標準的異常。它們是以父子類層次結構組織起來的,如下所示:
下表是對上面層次結構中出現的每個異常的說明:
| std::exception | 該異常是所有標準 C++ 異常的父類。 |
| std::bad_alloc | 該異常可以通過 new 拋出。 |
| std::bad_cast | 該異常可以通過 dynamic_cast 拋出。 |
| std::bad_exception | 這在處理 C++ 程序中無法預期的異常時非常有用。 |
| std::bad_typeid | 該異常可以通過 typeid 拋出。 |
| std::logic_error | 理論上可以通過讀取代碼來檢測到的異常。 |
| std::domain_error | 當使用了一個無效的數學域時,會拋出該異常。 |
| std::invalid_argument | 當使用了無效的參數時,會拋出該異常。 |
| std::length_error | 當創建了太長的 std::string 時,會拋出該異常。 |
| std::out_of_range | 該異常可以通過方法拋出,例如 std::vector 和 std::bitset<>::operator[]()。 |
| std::runtime_error | 理論上不可以通過讀取代碼來檢測到的異常。 |
| std::overflow_error | 當發生數學上溢時,會拋出該異常。 |
| std::range_error | 當嘗試存儲超出范圍的值時,會拋出該異常。 |
| std::underflow_error | 當發生數學下溢時,會拋出該異常。 |
?
總結
- 上一篇: 2021年中国GDP突破110万亿元 同
- 下一篇: 国务院办公厅关于2022年部分节假日安排