C 異常處理

2021-08-10 12:59:06 字數 1479 閱讀 7433

異常是在程式執行期間出現的問題。c#中的異常是對程式執行時出現的特殊情況的一種響應,比如嘗試除以零。

-try:乙個try塊標識了乙個將被啟用的特定的異常**塊。後跟乙個或多個catch塊。

-catch:程式通過異常處理程式捕獲異常。catch關鍵字表示異常的捕獲。

-finally:finally塊用於執行給定的語句,不管異常是否被丟擲都會執行。例如,如果開啟乙個資料夾,不管是否出現異常檔案都要關閉。

-throw:當問題出現時,程式丟擲乙個異常。使用throw關鍵字來完成。

c#異常是使用類來表示的。c#中的異常類主要是直接或間接地派生於system.exception類。

異常類描述

system.io.ioexception

處理 i/o 錯誤。

system.indexoutofrangeexception

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

system.arraytypemismatchexception

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

system.nullreferenceexception

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

system.dividebyzeroexception

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

system.invalidcastexception

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

system.outofmemoryexception

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

system.stackoverflowexception

處理棧溢位生成的錯誤。

c#以try和catch塊的形式提供了一種結構化的異常處理方案。使這些塊,把核心成語語句與錯誤處理語句分離開。

這些錯誤處理塊是使用try、catch、和finally關鍵字實現的。下面是乙個當除以零時丟擲異常的例項:

//c#異常處理語法

using system;

public void disvision(int num1,int num2)

catch (dividebyzeroexception e)

",e);

}finally

",result);}}

static void main(string args)

下面的程式演示了這點:

//c#建立使用者自定義異常

using system;

namespace userdefinedexception

catch(tempiszeroexception e)

",e.message);

}console.readkey();}}

}public class temperature

else

",temperature);}}

}}

C 異常處理

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

c 異常處理

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

C 異常處理

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