C 異常處理

2021-10-02 10:25:07 字數 1838 閱讀 2408

一.簡介:

例項**:

trycatch

( exceptionname e1

) catch

( exceptionname e2

) catch

( exceptionname en

) finally

c#異常類:

system.systemexception類是所有預定義的系統異常的基類。

下表列出了一些派生自 sytem.systemexception 類的預定義的異常類:

異常類描述

system.io.ioexception

處理 i/o 錯誤。

system.indexoutofrangeexception

處理當方法指向超出範圍的陣列索引時生成的錯誤。

system.arraytypemismatchexception

處理當陣列型別不匹配時生成的錯誤。

system.nullreferenceexception

處理當依從乙個空物件時生成的錯誤。

system.dividebyzeroexception

處理當除以零時生成的錯誤。

system.invalidcastexception

處理在型別轉換期間生成的錯誤。

system.outofmemoryexception

處理空閒記憶體不足生成的錯誤。

system.stackoverflowexception

處理棧溢位生成的錯誤。

異常處理程式的使用例項:

public

void

division

(int num1,

int num2)

catch

(dividebyzeroexception e)

", e)

;//丟擲異常!

}finally

//最終

", result);}

}

建立使用者自定義異常:
using system;

namespace userdefinedexception

catch

(tempiszeroexception e)

//使用自定義異常捕捉

", e.message);}

console.

readkey()

;}}}

//自定義異常

public

class

tempiszeroexception:}

public

class

temperature

else

", temperature);}

}}

丟擲異常物件:

如果異常是直接或間接派生自 system.exception 類,您可以丟擲乙個物件。您可以在 catch 塊中使用 throw 語句來丟擲當前的物件,被上級進行捕捉。

if

(temperature ==0)

每個執行緒要包含乙個try/catch塊

建立子執行緒去執行任務時,主線程不會知道子執行緒的異常情況,所以每個執行緒都需要乙個try、catch.

優點與作用:

異常處理的優點是清晰,直接實現可以自動操作許多錯誤處理**,以免程式執行時出現一些很不友好的錯誤介面,使程式被迫終止執行。

C 異常處理

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

c 異常處理

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

C 異常處理

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