



下載本文檔
版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)生物技術(shù)研發(fā)及應(yīng)用推廣合同書
- 軟件設(shè)計(jì)類合同協(xié)議
- 遺產(chǎn)放棄協(xié)議書范本
- 農(nóng)業(yè)合作社種植與養(yǎng)殖一體化協(xié)議
- 運(yùn)動館經(jīng)營合同協(xié)議
- 文員勞動用工合同
- 網(wǎng)絡(luò)輿情監(jiān)測與應(yīng)對措施制定指南
- 音樂史與音樂欣賞能力測試
- 婚姻撫養(yǎng)費(fèi)協(xié)議書
- 燈具維修協(xié)議書
- 藍(lán)色背景-PPT模板
- 設(shè)備檢維修作業(yè)票填寫模板
- 危大工程動態(tài)管控表
- 湖北省高等學(xué)校教學(xué)成果獎推薦書、申請簡表
- 商場重大危險(xiǎn)源評估標(biāo)準(zhǔn)
- 新生兒和兒童吞咽障礙的臨床評估
- DB62∕T 25-3111-2016 建筑基坑工程技術(shù)規(guī)程
- 幼兒園三會一課制度3篇
- DB33∕T 2196-2019 水利工程標(biāo)識牌設(shè)置規(guī)范
- UPS基礎(chǔ)知識培訓(xùn)教材PPT(76張)課件
- 箱式變壓器安裝方案
評論
0/150
提交評論