C#中類的異常處理詳解_第1頁
C#中類的異常處理詳解_第2頁
C#中類的異常處理詳解_第3頁
C#中類的異常處理詳解_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第C#中類的異常處理詳解目錄前言異常寄語總結(jié)

前言

日常編碼過程中,最重要的技能不是說你學(xué)會使用很多最新的編程技術(shù)或者做出一個高大上的系統(tǒng)。而是你在寫代碼過程中,對異常的處理,是否系統(tǒng)可以穩(wěn)定,健壯。

對于異常的處理在C#中是通過try/cath機(jī)制來捕獲的,接下來我們一起來看看。

異常是程序中的運(yùn)行時錯誤,它違法了系統(tǒng)約束或應(yīng)用程序約束,或出現(xiàn)了在正常操作時未預(yù)料的情形。

比如對于某些變量的非正常賦值或者在參與運(yùn)算操作時出現(xiàn)錯誤等。

異常

關(guān)于異常,在C#中通過try語句和處理異常機(jī)制類保證異常的捕獲,防止由于異常的未捕獲導(dǎo)致整個程序出現(xiàn)異常提醒,甚至出現(xiàn)崩潰。

異常的要求

try塊包含為避免出現(xiàn)異常而被保護(hù)的代碼

catch子句部分含有一個或多個catch子句。(處理異常代碼段也叫做異常處理子程序)

finally塊含有在所有情況下都要被執(zhí)行的代碼,無論有沒有異常發(fā)生

classProgram

staticvoidMain(string[]args)

//驗(yàn)證是否有異常的代碼

Ahuihui=newAhui();

InfoBaseinfo=(InfoBase)hui;

Console.WriteLine(hui.GetInfo());

Console.WriteLine(info.GetInfo());

catch(Exceptionex)

//捕獲異常,進(jìn)行異常的處理

thrownewException("異常向上一層拋出!");

Console.ReadKey();

在處理業(yè)務(wù)代碼時,必須在剛開始就將邏輯上的錯誤都考慮清楚進(jìn)行驗(yàn)證處理,比如判空,非正常值,值類型錯誤等。

其次在通過try/catch機(jī)制來捕獲非正常的異常,防止程序出現(xiàn)無法把控的錯誤,導(dǎo)致奔潰。

提示:在業(yè)務(wù)程序中盡量少用異常進(jìn)行捕獲,如果條件滿足要第一時間對異常進(jìn)行前期處理。Catch()中的異常處理時間會比較長,而且會導(dǎo)致系統(tǒng)資源被浪費(fèi)(異常實(shí)時被往上拋出)。

在C#中有很多不同類型的異??赡鼙话l(fā)生,BCL定義了許多類,每一個類代表一個指定的異常類型。當(dāng)一個異常發(fā)生時,CLR首先創(chuàng)建該類型的異常對象,其次尋找適當(dāng)?shù)腸atch子句以處理它。(所有的異常類都派生自System.Exception類)

關(guān)于catch()有三種形式,可以處理不同級別的異常。

第一種一般異常處理

try

catch

//一般異常處理

能接受任何異常,但不能確認(rèn)引起異常的類型??蓪赡馨l(fā)生的異常進(jìn)行普通處理和清理。

第二種特定異常處理

try

catch(Exception)

//特定異常處理

把一個異常類的名稱作為參數(shù),匹配該指定類或派生自它的異常類的異常。

第三種帶對象的特定異常處理

try

catch(Exceptionex)

thrownewException(ex.Message);

可提供關(guān)于異常的多種異常信息,匹配指定的異?;蚺缮运漠惓n惖漠惓!Mㄟ^異常實(shí)例,可得到異常的詳細(xì)信息。

try

catch(Exceptionex)

//特定異常處理

thrownewException(ex.Message);

finally{

//出現(xiàn)異常后的處理機(jī)制

這里需要特別說明下,關(guān)于finally中的代碼,不管異常是否被捕獲,它都會被執(zhí)行。

在finally中適合存放釋放資源或后續(xù)處理的代碼。

基礎(chǔ)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論