C 異常處理機制

2021-08-01 01:35:17 字數 805 閱讀 7421

1.所謂異常是指在程式執行的過程中發生的一些錯誤、異常事件(如:除0溢位,陣列下標越界,所要讀取的檔案不存在,空指標,記憶體不足等等)

2.bjarne stroustrup說:提供異常的基本目的就是為了處理上面的問題。基本思想是:

讓乙個函式在發現了自己無法處理的錯誤時丟擲(throw)乙個異常,然後它的(直接或者間接)

呼叫者能夠處理這個問題。也就是《c++ primer》中說的:將問題檢測和問題處理相分離。

異常事件發生時,程式使用throw關鍵字丟擲異常表示式,拋出點稱為異常出現點,由作業系統為程式設定當前異常物件,然後執行程式的當前異常處理**塊,在包含了異常出現點的最內層的try塊,依次匹配catch語句中的異常物件(只進行型別匹配,catch引數有時在catch語句中並不會使用到)。若匹配成功,則執行catch塊內的異常處理語句,然後接著執行try…catch…塊之後的**。如果在當前的try…catch…塊內找不到匹配該異常物件的catch語句,則由更外層的try…catch…塊來處理該異常;如果當前函式內所有的try…catch…塊都不能匹配該異常,則遞迴回退到呼叫棧的上一層去處理該異常。如果一直退到主函式main()都不能處理該異常,則呼叫系統函式terminate()終止程式。

乙個最為簡單的try...catch...例子:

void test()

{ int age;

while (cin>>age)

{ try

{ if (age<0 ||age > 200)

{throw age;

cout<<"有異常發生"<

c 異常處理機制

c 異常處理機制 c 異常處理機制是乙個用來有效地處理執行錯誤的非常強大且靈活的工具,它提供了更多的彈性 安全性和穩固性,克服了傳統方法所帶來的問題.異常的丟擲和處理主要使用了以下三個關鍵字 try throw catch 丟擲異常即檢測是否產生異常,在c 中,其採用throw語句來實現,如果檢測到...

c 異常處理機制

c 異常處理機制是乙個用來有效地處理執行錯誤的非常強大且靈活的工具,它提供了更多的彈性 安全性和穩固性,克服了傳統方法所帶來的問題.異常的丟擲和處理主要使用了以下三個關鍵字 try throw catch 丟擲異常即檢測是否產生異常,在c 中,其採用throw語句來實現,如果檢測到產生異常,則丟擲異...

C 異常處理機制

c 異常處理機制主要使用try,throw,catch三大關鍵字。try catch語句形式如下 require redcarpet markdown redcarpet.new hello world puts markdown.to htmltry catch exception1 ex 捕獲型...