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 程式中無法預期的異常時非常有用。...