當前位置:偏方大全网 - 藥品查詢 - c++中的異常處理機制是什麽

c++中的異常處理機制是什麽

異常處理允許用戶有序地管理操作過程中出現的錯誤。使用C++中的異常處理,用戶程序可以在錯誤發生時自動調用錯誤處理程序。異常處理的主要優點是它自動轉向錯誤處理代碼,這些代碼過去在大型程序中是手工編譯的。

註意:異常處理不屬於原始c++規範。它是在65438和0983之間開發的。異常處理是由

大多數現有的c++編譯器都支持所提出的ANSI c++標準定義。

c++異常處理基於三個關鍵字:try、catch和throw。

通常,監視異常情況的程序語句包含在try中。如果try塊中出現異常(即錯誤),將由throw處理。異常由catch捕獲並處理。

這些論點將在下面詳細討論。

拋出異常的語句必須在try塊中執行(在try塊中調用的函數也可能拋出異常)。任何異常都必須由拋出異常的try語句之後的catch語句立即捕獲。

試捕法的壹般形式如下:

嘗試{

// try塊

}

catch(type1 arg){

//catch塊

}

catch (type2 arg){

// catch塊

}

catch(type3 arg){

// catch塊

}

catch(類型參數){

// catch塊

}

try塊必須包含用戶程序中監控錯誤的部分。它們可以像函數中的幾條語句壹樣短,也可以像try塊中main()函數的代碼壹樣被完全包裝(有效地監控整個程序)。

當異常發生時,相應的catch語句捕獲並處理該異常。可能有多個與try相關的catch語句。至於用哪個catch語句,是由異常的類型決定的。也就是說,如果catch語句描述的數據類型與異常情況匹配,則執行該catch語句(被其他catch語句跳過)。當捕獲到異常時,arg將接受它的值。您可以捕獲任何類型的數據,包括用戶創建的類。如果try塊中沒有出現異常(錯誤),則不會執行catch語句。

throw語句的壹般形式如下:

拋出異常;

Throw必須在try塊中或在try塊中直接或間接調用的任何函數中執行。異常是壹個拋出的值。

如果對於拋出的異常沒有合適的catch語句,程序將異常終止。如果用戶的編譯器符合推薦的ANSI c++標準,拋出未處理的異常將導致調用terminate()函數。默認情況下,terminate()調用abort()來終止用戶程序,但是用戶可以根據需要定義自己的終止處理程序。

  • 上一篇:葉開泰藥店的歷史背景
  • 下一篇:幹眼癥吃杞菊地黃丸效果驚人
  • copyright 2024偏方大全网