C 異常處理

2021-10-03 11:37:02 字數 1097 閱讀 5844

異常是一種處理錯誤的方式。

例如:乙個函式發現自己無法處理的錯誤時就可以丟擲異常,讓別的函式直接或間接的呼叫處理這個錯誤。

通常將有可能出現異常的**放在try{}程式塊中,將異常處理的語句放在catch{}程式塊中,但是捕獲與處理的條件是,丟擲的異常的型別與catch塊引數的型別匹配。

注意並不是使用了try來包含可能出現異常的**後,程式就不會崩潰,通常需要(1)滿足某個條件時顯示丟擲異常(2)使用catch來匹配丟擲異常型別。

try

catch

(型別名[引數名]

)catch

(型別名[引數名]

)

int

func2()

void

func1()

intmain()

catch

(const

char

* errmsg)

//異常處理函式

system

("pause");

return0;

}

異常處理的順序

丟擲異常是由程式設計師決定什麼是異常,是否丟擲異常,以及丟擲哪種異常。

萬能捕獲異常catch(…),類似於一種「保底」做法。防止出現異常沒有匹配的catch塊,導致程式的退出,一般是將catch(…)放在catch塊的末尾。

try

catch(.

..)

異常的規範

有可能單個catch不能完全處理乙個異常,則希望再交給外層呼叫函式進行處理,則需要將異常重新丟擲。

類中異常的丟擲

class

func1

;class

func2

:public func1

;class

func3

:public func1

;int

main()

catch

(const func1& f)

return0;

}

C 異常處理

結構化異常 structured exception vs c 異常 c exception 大家都知道c 異常是c 語言的乙個特性,使用者可以使用throw的方式來丟擲異常,try catch 來捕獲異常。結構化異常是諸如,zero divided,access violations等異常,這些異...

c 異常處理

一 概述 c 自身有著非常強的糾錯能力,發展到如今,已經建立了比較完善的異常處理機制。c 的異常情況無非兩種,一種是語法錯誤,即程式中出現了錯誤的語句,函式,結構和類,致使編譯程式無法進行。另一種是執行時發生的錯誤,一般與演算法有關。關於語法錯誤,不必多說,寫 時心細一點就可以解決。c 編譯器的報錯...

C 異常處理

程式設計師常常忽視異常處理的重要性,這給他們自己的 造成相當大損害。本文將討論如何在c 中使用異常處理,並介紹在應用 中新增 片段以防止某些錯誤的一些簡單方法,這些錯誤可能導致程式異常終止。結構化異常處理 net框架提供一種標準的錯誤報告機制稱為結構化異常處理。這種機制依賴於應用中報告錯誤的異常。在...