10 6 C 標準庫的異常類層次結構

2021-07-13 12:50:20 字數 652 閱讀 9555

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...