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
- 異常處理機制(二)之異常處理與捕獲
- 8.異常處理機制
- 08.異常處理機制
- SpringMVC異常的處理機制SpringMVC
- java異常的處理機制Java
- Java 的異常處理機制Java
- Java 中的異常處理機制Java
- goang 錯誤&異常處理機制Go
- C#中的異常處理機制C#
- C++ 異常機制(上)C++
- .NET----錯誤和異常處理機制
- Python異常處理機制、除錯、測試Python除錯
- 【C++】 C++異常捕捉和處理C++
- 一次ceph心跳機制異常的處理
- Python入門學習之異常處理機制Python
- C++整理19_異常處理C++
- C++錯誤和異常處理C++
- (十五)C++學習 | 強制型別轉換 異常處理C++型別
- Python基礎入門(7)- Python異常處理機制Python
- JAVA的異常處理機制(一)——try...catch...finallyJava
- 異常篇——異常處理
- 異常處理機制(一)之throw與throws的區別
- React 原始碼解析系列 - React 的 render 異常處理機制React原始碼
- C介面與實現—C裡面的異常處理機制
- 異常處理
- 【C++】 63_C語言異常處理C++C語言
- Go 函式的健壯性、panic異常處理、defer 機制Go函式
- 知識點講解七:Python中的異常處理機制Python
- [原創]利用SEH異常處理機制繞過GS保護
- 轉載 利用SEH異常處理機制繞過GS保護
- JSP 異常處理如何處理?JS
- 異常-throws的方式處理異常
- 異常的處理
- golang - 異常處理Golang
- 異常處理2