C++異常處理機制
C++為我們提供了一種結構化形式的,更為優雅的異常處理機制,這種結構化機制可以把程式中正常執行的程式碼和異常處理的部分分開表示,使程式變得更清晰易讀,更為優雅!
下面,來看異常處理的結構,共分兩部分:
try { //正常程式執行語句 throw (異常型別表示式); } catch(異常型別1) { //異常處理程式碼 } catch(異常型別2) { //異常處理程式碼 } catch(異常型別3) { //異常處理程式碼 } //後續程式碼 以上是C++中異常處理的程式碼形式,用到了try、throw、catch三個關鍵詞
程式碼在執行時,首先遇到try程式碼塊,作用就是啟動異常處理機制,檢測try程式碼執行中遇到的異常,然後通過throw進行丟擲,throw當中的異常型別表示式是常量或變數表示式。接下來會和後面的catch語句塊進行匹配(捕獲),然後執行對應的程式碼。如果沒有發現可以匹配的型別則,則繼續向下執行。如若未找到匹配,則自動呼叫terminate()結束函式,預設功能是abort()終止程式
下面舉一個除法運算時,除數為0時候的一個異常處理
include
using namespace std; int main() { int a,b; cin>>a>>b; try { if(b==0) throw "error! b<0"; } catch(const char *str) { cout<
可以看到,在try中,如果發現b為0會丟擲一個字串,那麼此時會進入catch匹配,很明顯將匹配第一個catch,進而輸出str的值,請大家自行理解!
相關文章
- 異常處理機制
- C++ 異常處理機制的實現C++
- Java異常處理機制Java
- 異常處理機制(二)之異常處理與捕獲
- 深入理解C++中的異常處理機制C++
- C++異常處理機制核心觀點總結C++
- 08.異常處理機制
- java異常的處理機制Java
- Java 的異常處理機制Java
- Python異常處理機制Python
- goang 錯誤&異常處理機制Go
- SpringMVC異常的處理機制SpringMVC
- Java 中的異常處理機制Java
- Asp.Net 異常處理機制ASP.NET
- 解析Oracle developer 異常處理機制OracleDeveloper
- Struts的異常處理機制 (轉)
- C++ 異常處理C++
- C++異常處理C++
- C#中的異常處理機制C#
- 深入理解java異常處理機制Java
- c++異常處理格式C++
- c++ 異常處理(2)C++
- c++ 異常處理(1)C++
- c++異常處理 (轉)C++
- C++ 異常機制(上)C++
- .NET----錯誤和異常處理機制
- PHP異常、錯誤處理機制筆記PHP筆記
- windows核心程式設計---未處理異常,向量化異常處理與C++異常Windows程式設計C++
- 【C++】 C++異常捕捉和處理C++
- 一次ceph心跳機制異常的處理
- Python異常處理機制、除錯、測試Python除錯
- C++錯誤和異常處理C++
- (十五)C++學習 | 強制型別轉換 異常處理C++型別
- Python入門學習之異常處理機制Python
- 利用SEH異常處理機制繞過GS保護
- 異常篇——異常處理
- Linux 下 C++ 異常處理技巧LinuxC++
- C++異常處理與臨時副本C++