C 中的標準異常類

2021-06-26 21:08:12 字數 1008 閱讀 2109

c++中的標準異常類

namespace std

//exception派生

class logic_error; //邏輯錯誤,在程式執行前可以檢測出來

//logic_error派生

class domain_error; //違反了前置條件

class invalid_argument; //指出函式的乙個無效引數

class length_error; //指出有乙個超過型別size_t的最大可表現值長度的物件的企圖

class out_of_range; //引數越界

class bad_cast; //在執行時型別識別中有乙個無效的dynamic_cast表示式

class bad_typeid; //報告在表達試typeid(*p)中有乙個空指標p

//exception派生

class runtime_error; //執行時錯誤,僅在程式執行中檢測到

//runtime_error派生

class range_error; //違反後置條件

class overflow_error; //報告乙個算術溢位

class bad_alloc; //儲存分配錯誤

請注意觀察上述類的層次結構,可以看出,標準異常都派生自乙個公共的基類exception。基類包含必要的多型性函式提供異常描述,可以被過載。下面是exception類的原型:

class exception

public:

exception() throw();

exception(const exception& rhs) throw();

exception& operator=(const exception& rhs) throw();

virtual ~exception() throw();

virtual const char *what() const throw();

其中的乙個重要函式為what(),它返回乙個表示異常的字串指標

C 標準庫異常類

c 標準庫異常類繼承層次中的根類為exception,其定義在exception標頭檔案中,它是c 標準庫所有函式丟擲異常的基類,exception的介面定義如下 namespace std 除了exception類,c 還提供了一些類,用於報告程式不正常的情況,在這些預定義的類中反映的錯誤模型中,...

C 中的標準異常

標準異常都在標頭檔案中。異常描述 std exception該異常是所有標準 c 異常的父類。std bad alloc 該異常可以通過new丟擲。std bad cast 該異常可以通過dynamic cast丟擲。std bad exception 這在處理 c 程式中無法預期的異常時非常有用。...

C 中的標準異常

標準異常都在標頭檔案中。異常描述 std exception該異常是所有標準 c 異常的父類。std bad alloc 該異常可以通過new丟擲。std bad cast 該異常可以通過dynamic cast丟擲。std bad exception 這在處理 c 程式中無法預期的異常時非常有用。...