名稱空間
變體
操作

診斷庫

來自 cppreference.com
< cpp

目錄

[編輯] 異常處理

標頭檔案 <exception> 提供了 C++ 程式中與異常處理相關的若干類和函式。

定義於標頭檔案 <exception>
標準庫元件丟擲的異常的基類
(類) [編輯]
異常物件的捕獲與儲存
檢查當前是否正在進行異常處理
(函式) [編輯]
用於處理異常物件的共享指標型別
(typedef) [編輯]
從異常物件建立 std::exception_ptr
(函式模板) [編輯]
將當前異常捕獲到 std::exception_ptr
(函式) [編輯]
std::exception_ptr 丟擲異常
(函式) [編輯]
用於捕獲和儲存當前異常的 mixin 型別
(類) [編輯]
丟擲其引數並混入 std::nested_exception
(函式模板) [編輯]
std::nested_exception 丟擲異常
(函式模板) [編輯]
異常處理失敗的處理
定義於標頭檔案 <exception>
異常處理失敗時呼叫的函式
(函式) [編輯]
std::terminate 呼叫的函式型別
(typedef) [編輯]
獲取當前的 terminate_handler
(函式) [編輯]
更改 std::terminate 將呼叫的函式
(函式) [編輯]
std::current_exception 未能複製異常物件時丟擲的異常
(類) [編輯]
異常規範違規的處理 (直至 C++17)
(C++11 中已廢棄)(C++17 中已移除)
動態異常規範被違反時呼叫的函式
(函式) [編輯]
(C++11 中已廢棄)(C++17 中已移除)
std::unexpected 呼叫的函式型別
(typedef) [編輯]
(C++11 中已廢棄)(C++17 中已移除)
獲取當前的 unexpected_handler
(函式) [編輯]
(C++11 中已廢棄)(C++17 中已移除)
更改 std::unexpected 將呼叫的函式
(函式) [編輯]

[編輯] 異常類別

標頭檔案 <stdexcept> 中預定義了幾個便利類,用於報告特定的錯誤情況。這些類可分為兩類:邏輯錯誤和執行時錯誤。邏輯錯誤是程式中錯誤邏輯的結果,可能可以預防。執行時錯誤是程式範圍之外的事件造成的,不易預測。

定義於標頭檔案 <stdexcept>
表示邏輯前置條件或類不變式違規的異常類
(類) [編輯]
報告無效引數的異常類
(類) [編輯]
報告域錯誤的異常類
(類) [編輯]
報告嘗試超出最大允許大小的異常類
(類) [編輯]
報告引數超出預期範圍的異常類
(類) [編輯]
表示僅在執行時可檢測到的條件的異常類
(類) [編輯]
報告內部計算中範圍錯誤的異常類
(類) [編輯]
報告算術溢位的異常類
(類) [編輯]
報告算術下溢的異常類
(類) [編輯]
取消原子事務的異常類
(類模板)

[編輯] 錯誤碼

定義於標頭檔案 <cerrno>
擴充套件為 POSIX 相容的執行緒區域性錯誤碼變數的宏
(宏變數)[編輯]
標準 POSIX 相容錯誤條件的宏
(宏常量) [編輯]

[編輯] 系統錯誤 (自 C++11 起)

標頭檔案 <system_error> 定義了用於報告源自作業系統、流 I/O、std::future 或其他底層 API 的錯誤情況的型別和函式。

定義於標頭檔案 <system_error>
錯誤類別的基類
(類) [編輯]
識別通用錯誤類別
(函式) [編輯]
標識作業系統錯誤類別
(函式) [編輯]
儲存可移植錯誤碼
(類) [編輯]
(C++11)
列舉所有標準 <cerrno> 宏常量的 std::error_condition 列舉
(類) [編輯]
儲存平臺相關錯誤碼
(類) [編輯]
用於報告具有 error_code 的情況的異常類
(類) [編輯]

[編輯] 斷言

斷言有助於實現程式中的前置條件檢查。

定義於標頭檔案 <cassert>
如果使用者指定條件不為 true,則中止程式。在釋出版本中可能會停用。
(函式宏) [編輯]

[編輯] 棧回溯 (自 C++23 起)

定義於標頭檔案 <stacktrace>
棧追蹤中一次求值的表示
(類) [編輯]
由棧追蹤條目組成的近似呼叫序列表示
(類模板) [編輯]

[編輯] 除錯支援 (自 C++26 起)

定義於標頭檔案 <debugging>
呼叫時暫停正在執行的程式
(函式) [編輯]
如果 std::is_debugger_present 返回 true,則呼叫 std::breakpoint
(函式) [編輯]
檢查程式是否在偵錯程式控制下執行
(函式) [編輯]

[編輯] 參見

static_assert 宣告 (C++11) 執行編譯時斷言檢查[編輯]
C 文件 關於 錯誤處理