亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺談C#中的異常處理

        2018-11-13 05:54:14孫鯨鵬南京技師學院
        數(shù)碼世界 2018年10期
        關(guān)鍵詞:開發(fā)人員除數(shù)應用程序

        孫鯨鵬 南京技師學院

        1.概述

        在日常生活中我們不可避免的會遇到各種意想不到的事情,同樣開發(fā)人員編寫的應用程序代碼在運行過程中,也會發(fā)生各種難以預料的問題。當代碼不能對遇到的問題進行處理時,就會發(fā)生“異常(EXCEPTION)”,隨之而來的是程序發(fā)生報錯、數(shù)據(jù)丟失甚至于系統(tǒng)崩潰等問題。如果缺乏對這些異常的處理可能會給用戶帶來巨大的損失,如何對這些不可預知的異常的進行處理也成了開發(fā)人員的必備技能。本文以C#開發(fā)環(huán)境中的異常處理為例展開闡述與分析。

        C#(C SHARP)是一款基于微軟.NET Framework框架的面向?qū)ο蟾呒壘幊陶Z言。C#語言繼承并發(fā)揚了VB語言的所見即所得的便利操作性和C++語言的高效率的特性,語法優(yōu)美規(guī)范、是.NET平臺開發(fā)的首選。盡管基于C#開發(fā)環(huán)境中的應用程序穩(wěn)定性在不斷提高,但是由于客戶的使用環(huán)境與習慣千變?nèi)f化使得應用程序的異常時有發(fā)生。C# 語言的異常處理功能可幫助開發(fā)人員處理應用程序運行時出現(xiàn)的任何意外或異常情況。異常處理利用try、catch和finally編寫相關(guān)代碼來實現(xiàn)某些邏輯,以處理異常情況。其次是在事后釋放資源時,使用異常處理也有很大的幫助。

        2. try塊

        try塊包含的代碼通常需要執(zhí)行一些通用的資源釋放操作,或者需要從異常中恢復,或者兩者都需要。釋放代碼應放在一個finally塊中。try塊還可包含也許會拋出異常的代碼。異?;謴痛a應放在一個或多個catch塊中。針對應用程序能從中安全恢復的每一種異常,都應該創(chuàng)建一個catch塊。一個try塊至少要有一個關(guān)聯(lián)的catch塊或finally塊,單獨一個try塊是沒有意義的,也是不合法的。

        3. catch塊

        catch塊內(nèi)的代碼用以響應異常并執(zhí)行相關(guān)的代碼。單個try塊可以關(guān)聯(lián)多個catch塊,也可以不關(guān)聯(lián)任何catch塊。如果try塊中的代碼執(zhí)行過程中未遇到異常,那么CLR將不會執(zhí)行它的任何catch塊中的代碼。線程將跳過所有catch塊,直接執(zhí)行finally塊中的代碼。finally塊中的代碼執(zhí)行完畢后,執(zhí)行從finally塊后面的語句繼續(xù)。

        catch關(guān)鍵字后的圓括號中的表達式稱為捕捉類型。在C#中,必須將捕捉類型指定為System.Exception或者是其派生類型。

        多數(shù)情況下,異常并不是由代碼的執(zhí)行報錯拋出,而是由調(diào)用堆棧中底層的其它方法所引發(fā)。在這種情況下,將由CLR將負責查找堆棧內(nèi)是否由對應此異常類型的catch塊,如果存在,則執(zhí)行該catch塊內(nèi)代碼。如果不存在對應的catch塊,則終止該進程,并將此消息提示給用戶。

        4. finally塊

        finally塊包含的代碼是保證會執(zhí)行的代碼。通常為執(zhí)行的try塊中的操作所要求的資源釋放。finally 塊將在最后執(zhí)行,在 try 塊和任何匹配 catch 的塊之后執(zhí)行。 不管是否引發(fā)異?;蛘呤欠裾业脚c異常類型匹配的 catch 塊,finally 始終運行。

        finally 塊內(nèi)代碼多用于資源的釋放,而不用等待由CLR中的GC來完成對象的回收工作。

        5.異常處理

        異常處理在軟件開發(fā)中的使用非常廣泛,其過程可以歸結(jié)為在異常發(fā)生前做好分類定義,發(fā)生后保護現(xiàn)場,處理異常,退出異常處理程序后,恢復被中斷程序的運行。

        C# 開發(fā)人員可使用 try 塊對可能受異常影響的代碼進行分區(qū)。 關(guān)聯(lián)的 catch 塊用于處理任何結(jié)果異常。 一個包含代碼的finally 塊,無論 try 塊中是否引發(fā)異常(例如,釋放在 try 塊中分配的資源),這些代碼都會運行。 一個 try 塊需要一個或多個關(guān)聯(lián)的 catch 塊或一個 finally 塊,或兩者。C# 語言的異常處理功能中的try-catch、try-finally和 try-catch-finally 三個語句可以靈活運用,使用非常方便。

        6.異?;謴?/h2>

        對于所有已知錯誤引發(fā)的異常,開發(fā)人員可以通過采取一些措施允許應用程序從異常中恢復并繼續(xù)運行。示例代碼如下:

        上述代碼計算兩個數(shù)相除的值,并將這個值通過字符串返回給調(diào)用函數(shù),若發(fā)生異常則由catch段代碼對result進行賦值,給用戶合理的提示。如果除數(shù)b為0,那么CLR將拋出DivideByZeroExcep

        tion異常,并向用戶返回“除數(shù)不能為零!”這個結(jié)果。如果被除數(shù)a為最大整數(shù),而除數(shù)為最小實數(shù),那么結(jié)果超出取值范圍CLR將拋出

        OverflowException異常,并向用戶返回“數(shù)據(jù)溢出,無法顯示數(shù)據(jù)!”這個結(jié)果。這種做法極大的提升了用戶的體驗性,同時也對開發(fā)人員對各種異常捕捉恢復提出了較高的要求。

        總結(jié):任何技術(shù)高明的程序員所編寫的應用程序都不可能絕對不出差錯的運行,如何使用異常處理來提高應用程序的友好性、容錯性及準確的錯誤信息收集能力是優(yōu)秀的應用程序必須具備的特點。本文在分析了異常處理技術(shù)的概念和思想后,對異常處理進行了總結(jié),并針對C#語言給出了相關(guān)示例,探討了對應的解決措施,希望能對讀者在開發(fā)應用程序時有所幫助。

        猜你喜歡
        開發(fā)人員除數(shù)應用程序
        除法中的簡便計算
        你會算嗎——以“除數(shù)是一位數(shù)的除法”為例
        余數(shù)一定要比除數(shù)小
        刪除Win10中自帶的應用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應用
        余數(shù)比除數(shù)小
        讀寫算(上)(2016年4期)2016-12-01 03:19:52
        讓Windows 10進入開發(fā)者模式
        電腦迷(2015年12期)2015-04-29 23:22:51
        后悔了?教你隱藏開發(fā)人員選項
        電腦愛好者(2015年6期)2015-04-03 01:20:56
        關(guān)閉應用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開設應用程序下載商店

        av天堂中文亚洲官网| 久久婷婷综合激情五月| 亚洲综合新区一区二区| 国产女主播大秀在线观看| 亚洲av一区二区三区蜜桃| 无码av中文一区二区三区| 日本在线看片免费人成视频1000| 亚洲最大中文字幕无码网站| 无码人妻丰满熟妇精品区| 国产成人精品亚洲午夜| 精品国产亚欧无码久久久| 日韩av在线不卡一二三区| 精品一区二区av在线| 国产精品免费观看调教网| 亚洲va欧美va日韩va成人网| 精品国产sm捆绑最大网免费站| 精品国产福利久久久| 国产成人精品日本亚洲直播| 国产一区二区三区免费精品| 国产精品老女人亚洲av无| 新中文字幕一区二区三区| 国产99在线 | 亚洲| 久久亚洲sm情趣捆绑调教| 成人午夜视频一区二区无码| 国产大学生自拍三级视频 | av在线播放免费网站| 亚洲国产精彩中文乱码av| 人人玩人人添人人澡| 一区二区三区国产高潮| 97中文字幕一区二区| 国产真实一区二区三区| 亚洲国产精品无码专区在线观看| 国产精品伦一区二区三级视频| 揄拍成人国产精品视频| 亚洲午夜精品国产一区二区三区| 人妻少妇久久中中文字幕| 99久久精品午夜一区二区| 漂亮人妻被黑人久久精品| 国产精品久久久精品三级18| 久久久精品毛片免费观看| 久久久久久久97|