C 異常處理詳解

2022-09-26 09:09:16 字數 1397 閱讀 7659

異常介紹

www.cppcns.com1、system.exception類

message屬性:發生異常的原因和異常的內容

souce屬性:丟擲異常程式集的名稱

stacktrace屬性:發生異常的方法呼叫情況

innerexception屬性:次異常中包含的異常

2、try{}catch{}finally{}

處理異常

a、不帶引數的catch和catch(exception)是有區別的

catch(exception)可以捕獲所有以exception類派生的異常,而不帶引數的catch可以捕獲所有異常,不管異常是不是從excep程式設計客棧tion類派生。

b、與catch配套的catch和finally是可選的,但二者必選其一。乙個try可對應多個catch,但乙個try只能對應乙個finally。

c、不論try中是否發生異常,finally中的語句一定會被執行。

異常傳播

如果異常發生後,沒有被相應的catch捕獲,那麼異常將沿呼叫堆疊逐漸向上傳遞,直到遇到合適的catch語句或傳遞到最底層的呼叫方法為止。如都沒有找到相應的catch,則異常交付.net公共語言執行時,公共語言執行時彈出乙個對話方塊來顯示異常資訊。

丟擲異常throw

1、throw 變數名;

必須是exception異常或有exception派生的型別

2、throw;

這個throw語句只有乙個throw關鍵字,只能用在catch語句塊中,該語句的意思是丟擲當前catch語句所捕獲的異常。

自定義異常

遵循原則

1、避免使用深的異常類繼承層次結構

2、自定義異常類必須繼承system.exception類或其他幾種基本常見異常類

3、自定義異常類名稱要以exception結尾

4、自定義異常類應該可以序列化

5、自定義異常類應該至少實現與exception類相同的以下四個建構函式

複製** **如下:

public myeayjqstjbxception(){}

public myexception(string message){}

public myexception(string message,exception inner){}

protected myexception(system.runtime.serialization.serializationinfoinfo,system.runtime.serialization.streamingcontext context){}

6、自動插入自定義異常類框架

在編輯器中輸入exception並按鍵,即可得到自定義異常類框架。

本文標題: c#異常處理詳解

本文位址: /ruanjian/csharp/100422.html

C 異常處理詳解

捕獲異常 捕獲異常的語法為 trycatch 異常型別 try 和 catch 都是c 中的關鍵字,後跟語句塊,不能省略 try 中包含可能會丟擲異常的語句,一旦有異常丟擲就會 獲。從 try 的意思可以看出,它只是 嘗試 捕獲異常,如果沒有異常丟擲,那就什麼也不捕獲。catch 用來處理 try ...

異常處理詳解(C )

什麼是異常處理?異常是指程式在執行過程中出現的以外情況。異常通常會使程式的正常流程被打斷。例如,算數運算中被除數為0 陣列下標越界 開啟檔案是檔案不存在等等。一般情況下,程式中需要對異常進行處理,通過對異常情況的處理,可以發現產生異常的原因,並進行必要的異常處理,從而值程式的執行流程繼續走下去。為什...

C 之異常處理詳解

程式中的錯誤分為編譯時的錯誤和執行時的錯誤。編譯時的錯誤主要是語法錯誤,比如 句尾沒有加分號,括號不匹配,關鍵字錯誤等,這類錯誤比較容易修改,因為編譯系統會指出錯誤在第幾行,什麼錯誤。而執行時的錯誤則不容易修改,因為其中的錯誤是不可預料的,或者可以預料但無法避免的,比如記憶體空間不夠,或者在呼叫函式...