[參考]
異常描述
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 當發生數學下溢時,會丟擲該異常。
[參考]
#include
#include
#include
using
namespace
std;
int main() ;
try catch (std::range_error e)
}
執行結果:
terminate called after throwing an instance of
'std::out_of_range'
what(): vector::_m_range_check: __n (which is
3) >= this->size() (which is
3)
使用 set_terminate()
#include
#include
#include
using
namespace
std;
void terminate_usr()
int main() ;
try catch (...)
}
巨集
含義file
當前源檔名,char字元,使用/fc選項產生全路徑
line
當前原始檔的行號,正數
date
當前編譯日期,char字串,格式:aug 28 2011
time
當前編譯時間,char字串,格式:10:32:12
func
當前函式
function
當前函式
timestamp
最後一次修改當前檔案的時間戳,char字串,格式:sun aug 28 13:05:34 2014
C 四十五 異常處理與程式除錯
程式錯誤型別 1 語法錯誤 2 執行時錯誤 3 邏輯錯誤 程式除錯 程式除錯的主要目的是解決程式中的邏輯錯誤,通過設定斷點,跟蹤觀察程式的執行過程,發現造成邏輯錯誤的具體語句,然後修改程式實現設計目標。設定斷點 斷點是程式暫停執行的地方,當程式執行到斷點位置時,程式暫停執行,進入中斷模式,以便觀察程...
除錯事件與異常的關係
1.異常是除錯事件的一種 2.windows 定義了 9 類除錯事件,分別用以下 9 個常量來 表示 exception debug event 1 create thread debug event 2 create process debug event 3 exit thread debug ...
Python(異常處理與程式除錯)
python標準庫的每個模組都使用了異常,異常在python中除了可以捕獲錯誤,還可以除錯程式。一 python中的異常 異常是指程式中的例外 違例情況。異常機制是指當程式出現錯誤後,程式的處理方法。異常機制提供了程式正常退出的安全通道。當錯誤出現後,程式的流程發生改變,程式的控制權轉移到異常處理器...