命名空間
變體
動作

診斷函式庫

出自 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>
用於指示邏輯前提或類別不變量違規的異常類別
(類別) [編輯]
用於報告無效參數的異常類別
(類別) [編輯]
用於報告領域錯誤 (domain error) 的異常類別
(類別) [編輯]
用於報告嘗試超過允許的最大大小的異常類別
(類別) [編輯]
用於報告超出預期範圍之參數的異常類別
(類別) [編輯]
用於指示僅能在執行時期檢測到之狀況的異常類別
(類別) [編輯]
用於報告內部計算中範圍錯誤的異常類別
(類別) [編輯]
用於報告算術溢位的異常類別
(類別) [編輯]
用於報告算術下溢的異常類別
(類別) [編輯]
用於取消原子交易的異常類別
(類別模板)

[編輯] 錯誤碼

定義於標頭檔 <cerrno>
展開為與 POSIX 相容的執行緒區域錯誤碼變數的巨集
(巨集變數)[編輯]
用於標準 POSIX 相容錯誤狀況的巨集
(巨集常數) [編輯]

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

<system_error> 標頭檔定義了用於報告源自作業系統、串流 I/O、std::future 或其他低階 API 之錯誤狀況的類型與函式。

定義於標頭檔 <system_error>
錯誤類別的基底類別
(類別) [編輯]
識別通用錯誤類別
(函式) [編輯]
識別作業系統錯誤類別
(函式) [編輯]
持有可移植的錯誤碼
(類別) [編輯]
(C++11)
列出所有標準 <cerrno> 巨集常數的 std::error_condition 列舉
(類別) [編輯]
持有與平台相關的錯誤碼
(類別) [編輯]
用於報告帶有 error_code 之狀況的異常類別
(類別) [編輯]

[編輯] 斷言

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

定義於標頭檔 <cassert>
若使用者指定的條件不為 true,則中止程式。在發行版 (release builds) 中可能會被停用。
(函式巨集) [編輯]

[編輯] 堆疊追蹤 (C++23 起)

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

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

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

[編輯] 參見

static_assert 宣告 (C++11) 執行編譯時期斷言檢查[編輯]
C 文件 關於 錯誤處理
English Deutsch 日本語 中文(简体) 中文(繁體)