浅谈C++ 标准库中的异常 —— stdexcept类
生活随笔
收集整理的這篇文章主要介紹了
浅谈C++ 标准库中的异常 —— stdexcept类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<stdexcept>定義了一些標準的異常類。分為兩大類:邏輯錯誤和運行時錯誤。其中運行時錯誤是程序員不能控制的。
目錄:
?
- logic_error
- runtime_error
- throw
- try catch
?
logic_error
邏輯錯誤都繼承自logic_error
| domain_error | 域錯誤 |
| invalid_argument | 非法參數 |
| length_error | 通常是創建對象是給出的尺寸太大 |
| out_of_range | 訪問超界 |
| future_error | 未知錯誤 |
runtime_error
運行時錯誤都繼承自runtime_error
| range_error | 邊界錯誤 |
| overflow_error | 上溢 |
| underflow_error | 下溢 |
| system_error | 系統錯誤 |
throw
使用throw拋出異常。
void my_stdexcept(int val) {if (val < 0){throw std::invalid_argument("invalid argument");}else{printf("test success.\n");} }- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
try catch
try函數體中,將對可能出現的異常進行捕獲。catch中對捕獲后的異常進一步處理。
int main(int argc, char* argv[]) {try{my_stdexcept(-1);}catch (std::exception ex){printf("exception:%s\n", ex.what());}return 0; }- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的浅谈C++ 标准库中的异常 —— stdexcept类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 枚举类型详解
- 下一篇: c++一个问题:while(!cin)