第7章 異常處理
7.1 丟擲異常
異常處理機制有兩個主要部分:異常的鑑定與發出,異常的處理。
c++通過throw表示式產生異常:
inline void triangular_iteratir::
check_integrity()
throw表示式看起來有點像函式呼叫。
所謂 異常,是某種物件,最簡單的異常物件可以是整數或字串。
throw 42;
throw 「no buffer」;
7.2 捕獲異常
使用單條或一串catch子句來捕獲被丟擲的異常物件。
catch子句由3部分組成:關鍵字catch、小括號內的乙個型別或物件、大括號的一組語句(用來處理異常)。
如:catch(int errno)
catch(iterator_overflow &iof)
異常物件的型別會逐一和每個catch子句進行對比。型別符合則執行catch子句。
如果我們無法完成異常的完整處理,在記錄資訊之外,或許需要重新丟擲(throw),,尋求其他catch的協助。
如果我們想捕獲任何型別的異常,可以使用catch all方式catch(…)
catch(…)
7.3 提煉異常
catch子句和try塊相應而生。 try塊是以try開始,然後大括號一串語句,catch子句放在try塊末尾。如果try塊內發生異常,則由接下來的catch子句處理。
7.4 區域性資源管理
auto_ptr是標準庫提供的class template,它會自動刪除通過new分配的物件。
7.5 標準異常
如果new無法分配足夠的記憶體,它會丟擲bad_alloc異常物件。
標準庫定義了一套異常類體系,其根部是名為exception的抽象基類。exception宣告有乙個what()虛函式,會返回乙個const char*。用以表示被丟擲異常的文字描述。
第7章 自動丟擲異常的應用
public class systemexceptiontest public static void main string args 1.知識點分析 1 自動丟擲異常 由系統自動丟擲的異常稱為自動丟擲異常,即一旦出現某些執行錯誤時,系統將會為這些錯誤自動產生對應的異常類物件。2 對程式的分析 以...
第7章 Spring MVC的高階技術 異常處理
概述 只要程式都需要處理異常,spring會有哪些處理異常的方式 特定的spring異常將會自動對映為指定的http狀態碼異常上可以新增 responsestatus註解,從而改變http狀態碼在控制器中新增乙個帶有 exceptionhandler註解可以處理這個控制器所有丟擲此異常的 對於自動對...
第7章 函式 7
7.7 類的成員函式 函式原型必須在類中定義。但是,函式體則既可以在類中也可以在類外定義。7.7.1 定義成員函式的函式體 類的所有成員都必須在類定義的花括號裡面宣告,此後,就不能再為類增加任何成員。類的成員函式必須加宣告的一般定義。類的成員函式既可以在類的定義內也可以在類的定義外定義。編譯器隱式地...