c 異常的簡單使用方法

2021-09-29 09:27:05 字數 2337 閱讀 7065

異常:程式在執行時發生的特殊情況。無法在編譯階段被識別出來,一般的c++錯誤在程式編譯時就會被識別並丟擲。

throw:發生異常時由throw丟擲。

try:try中用於書寫發生異常的**段

catch:catch()捕捉特定型別的異常,對異常進行一定的處理。

char const *型別的異常

/*

異常的使用

*/#include

using

namespace std;

#include

intabc

(int a,

int b,

int c)

return a + b * c;

}int

main()

catch

(char

const

* e)

return0;

}

int 型的異常

/*

《資料結構、演算法與應用 c++語言描述》

page 8 第10題

*/#include

using

namespace std;

intabc

(int a,

int b,

int c)

else

if(a==

0&& b==

0&& c==0)

return a + b * c;

}int

main()

catch

(int e)

//例項2:輸出 bomb!! exception1

trycatch

(int e)

//例項3:輸出 2

trycatch

(int e)

return0;

}

/*

乙個簡單的異常類---物件導向的設計

*/#include

using

namespace std;

#include

//引數異常類

class

illegalparametervalue

illegalparametervalue

(char

* themessage)

void

output()

private

: string message;};

//功能函式

intabc

(int a,

int b,

int c)

else

if(a==

0&& b==

0&& c==0)

return a + b * c;

}//main函式中測試

intmain()

catch

(illegalparametervalue e)

//例項2:輸出 illegal parameter value

trycatch

(illegalparametervalue e)

//例項3:輸出 2

trycatch

(illegalparametervalue e)

return0;

}

《資料結構、演算法與應用 c++語言描述》第二版一書中(p7、p8)給出了如下型別的**:

#include

using

namespace std;

#include

intabc

(int a,

int b,

int c)

return a + b * c;

}int

main()

catch

(char

* e)

return0;

}

書中說這個程式丟擲的異常型別是char*,但在執行時出現了如下情況(terminate called after throwing an instance of 『char const*』):

顯然程式出現了乙個char const* 型別的異常,及通過throw " "丟擲的異常是char const* 型別的,而不是char* 型別的。具體原因我也不清楚,難道是編譯器的原因???

c++指標使用詳解可能會對你理解char* 與char const* 甚至是const char *的區別有所幫助。

Python 異常處理使用方法

常見的錯誤型別 常見錯誤 exception 常規錯誤的基類 attributeerror 物件沒有這個屬性 eoferror 沒有內建輸入,到達eof標記 importerror 匯入模組 物件失敗 indexerror 序列中沒有此索引 keyerror 對映中沒有這個鍵 memoryerror...

pymysql的使用簡單使用方法

1.安裝方法 pip安裝 pip install pymysql anaconda安裝 conda install c anaconda pymysql 2.pymysql執行流程 3.匯入模組 from pymysql import 4.例項 import pymysql 連線資料庫 db pym...

BART 的簡單使用方法

bart是在檔案系統級的檔案跟蹤工具。使用bart工具使你能快速 容易和可靠地得到系統中的軟體構成資訊。使用bart能很大程度地減少網路系 統的管理成本。bart能夠在目標系統軟體目錄的檔案層執行檢查操作。該實用程式可用於收集有關系統已安裝了哪些內容的資訊。bart還使你能夠對已安裝 的系統及系統內...