C 的異常處理機制

2021-09-25 15:02:29 字數 1503 閱讀 3860

c++處理異常有兩個基本做法:

異常檢測和處理是在不同的**段中進行的。一般「try」部分捕捉異常,「catch」部分處理異常。

由於異常的檢測**不是在同乙個**段中進行的,在檢測異常和處理需要一種傳遞異常資訊的機制,在c++中是通過「物件」來傳遞異常。這種物件可以是簡單的資料例如整數,也可以是系統定義或使用者自定義的類物件。

trycatch(異常型別)

在try符合語句中,可以呼叫其他函式,在函式中丟擲異常,而不是在復合語句中直接丟擲異常。這個呼叫的函式也是屬於try模組的,所以catch部分依然可以捕獲它丟擲的異常。

例:#include using namespace std;   double test(double a, double b);

void main()

catch (const char *s)

cout << "a除於b等於" << c << endl;

cout << "輸入下一組數字}

}double test(double a,double b)

return a / b;}

注意:try語句模組和catch語句塊是乙個整體,兩者之間不能有其他語句。好比如;

try{}cout << 「12」 << endl;catch(const char*s){} //錯誤

乙個try語句塊後面可以有很多catch語句,但是不可以幾個try語句塊後面用乙個catch語句。

用類物件傳遞異常:

throw語句的異常,可以是各種型別。也可以用類傳遞。物件就是既有資料屬性,也有行為屬性。使用物件來傳遞,即可以傳遞異常相關的資料屬性,也可以傳遞處理異常有關的行為或者方法。

專門用來傳遞異常的類叫異常類。異常類可以是使用者自定義的,也可以是系統提供的exception類。

使用者自定義類物件傳遞異常:

class stackoverflowexception       //棧滿異常類

~stackoverflowexception() {}

void getmessage()

};class stackemptyexception  //棧空異常類

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 捕獲型...