c++標準庫中的異常層次的根類被稱為exception,定義在庫的標頭檔案中。
◆ 1、
exception類的介面如下
:namespace std //注意在名字空間域std中;}
◆ 2、
c++標準庫提供的邏輯異常
:invalid_argument異常,接收到乙個無效的實參,丟擲該異常。
out_of_range異常,收到乙個不在預期範圍中的實參,則丟擲。
length_error異常,報告企圖產生「長度值超出最大允許值」的物件
domain_error異常,用以報告域錯誤(domain error)。
◆ 3、
c++標準庫提供的執行時異常
:range_error異常,報告內部計算中的範圍錯誤。
overflow_error異常,報告算術溢位錯誤。
underflow_error異常,報告算術下溢錯誤。
以上三個異常是由runtime_error類派生的。bad_alloc異常,由基類exception派生,當new()操作符不能分配所要求的儲存區時,會丟擲該異常。
◆ 4、舉例:【例10.3】為類模板array重新定義下標操作符,如果索引值越界,它會丟擲乙個out_of_range型別的異常。(
檢視原始碼
)
C 標準庫異常類繼承層次
檢視exception標頭檔案 對這種形式的定義不是太懂,再多看看 有空去理解 c 標準庫異常類繼承層次中的根類為exception,其定義在exception標頭檔案中,它是c 標準庫所有函式丟擲異常的基類,exception的介面定義如下 namespace std class exceptio...
C 標準庫異常類
c 標準庫異常類繼承層次中的根類為exception,其定義在exception標頭檔案中,它是c 標準庫所有函式丟擲異常的基類,exception的介面定義如下 namespace std 除了exception類,c 還提供了一些類,用於報告程式不正常的情況,在這些預定義的類中反映的錯誤模型中,...
C 中的標準異常類
c 中的標準異常類 namespace std exception派生 class logic error 邏輯錯誤,在程式執行前可以檢測出來 logic error派生 class domain error 違反了前置條件 class invalid argument 指出函式的乙個無效引數 cl...