一.異常
c語言:一般使用函式的返回值來表示是否出錯.
c++語言:使用異常機制進行處理
異常語法:
(1)異常捕獲
trycatch(異常型別 名字)
catch(異常型別2 名字2)
//... 可以有多個catch(...)分支
(2)異常丟擲
throw 異常物件(異常型別);
//異常捕獲
void config(void)
注意:(1)建構函式可以丟擲異常,而且在某些情況下必須丟擲異常. 如果物件沒有被完全構造就丟擲異常, 那麼所構造的物件被不完整構造,
而乙個不完整的物件的析構函式是不會被呼叫的。
(2)最好不要在析構函式中丟擲異常,如果這樣可能導致程式進入不穩定狀態,盡可能捕獲析構函式中呼叫函式丟擲的異常。
//自定義型別的異常處理
class myexception
friend ostream& operator<<(ostream& os,const myexception& ex)
catch(memexception& emem)//這裡的引用沒有問題,異常機制幫我們處理了.
catch(fileexception& efile)
catch(...)//可以接受任意型別的異常.
return 0;
}
//異常說明
class cmyexception : public exception
{public:
const char* what() const throw() //不丟擲任何的異常
{ //cout<<"weikangc is good boy!"<
C 使用引用捕獲異常
include using namespace std class base base const base rb virtual void print class derived public base derived const derived rd base rd virtual void p...
c 異常捕獲
概念 c 異常 就是 try catch seh異常 就是 try except 1 0 1 關於這兩種異常,如有不了解的地方,網上有很多資料可以參考 目前微軟所有的vc編譯器 從vc6到vc2010 都預設是開啟對c 異常的編譯支援的 位於專案選項中的 生成 啟用c 異常 ehsc,vc6是ena...
C 異常捕獲
本文章純屬是為了加深記憶,便於學習。若對c 的理解有錯誤,望指出,謝謝。異常捕獲通常發生在輸入不規範。當想要接收整數型別的資料時,控制台卻輸入了其他型別資料,例如字串型別。導致出現異常。try catch 執行過程 如果try中的 沒有出現異常,那麼catch中的 不會執行。如果try中的 出現了異...