国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺析Java語言中的異常處理機(jī)制

2016-05-19 14:26:10朱倩
電腦知識(shí)與技術(shù) 2016年8期
關(guān)鍵詞:異常

朱倩

摘要:傳統(tǒng)的程序設(shè)計(jì)語言往往通過預(yù)判是否出現(xiàn)異常,但是這種錯(cuò)誤處理機(jī)制會(huì)導(dǎo)致不少問題。為了加強(qiáng)程序的健壯性、流暢性、穩(wěn)定性,就需要考慮有可能發(fā)生的異常,并進(jìn)行相應(yīng)的處理。該文作者結(jié)合教學(xué)實(shí)例,重點(diǎn)介紹Java程序設(shè)計(jì)語言如何處理異常。

關(guān)鍵詞:異常;處理機(jī)制;異常類

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)08-0100-02

1 概述

在應(yīng)用程序運(yùn)行的過程中,經(jīng)常會(huì)出現(xiàn)這樣一些現(xiàn)象:用戶不按照要求輸入、需要進(jìn)行處理的文件丟失、分母為零、數(shù)組下標(biāo)超出預(yù)定范圍、網(wǎng)絡(luò)中斷等,我們把這種現(xiàn)象稱為異常。由于異常情況總是難免的,所以一個(gè)好的應(yīng)用程序不僅要滿足用戶的基本需求,還要具備處理有可能出現(xiàn)的異常情況的能力,即程序必須具備較強(qiáng)的容錯(cuò)能力,把這種對(duì)異常進(jìn)行處理的機(jī)制稱為異常處理。對(duì)異常處理有兩種常見方法:計(jì)算機(jī)系統(tǒng)遇到錯(cuò)誤,給出出錯(cuò)信息并結(jié)束正在運(yùn)行的程序;由程序員在程序中加入異常處理的功能。早期的程序設(shè)計(jì)語言沒有提供專門進(jìn)行異常處理的功能,程序員在編寫程序的過程中,進(jìn)行處理異常的代碼往往和正常的代碼混雜在一起,導(dǎo)致程序的可維護(hù)性和可讀性下降。Java語言采取了異常處理機(jī)制,其方式為“拋出-捕獲”,一個(gè)異常一旦產(chǎn)生,Java語言采取相應(yīng)的機(jī)制來處理它,避免出現(xiàn)死循環(huán)、死機(jī)以及其他更大的危害,盡可能預(yù)防錯(cuò)誤代碼帶來的不可預(yù)期的后果,整個(gè)程序的安全性得到了極大的提高。

2 Java語言中的異常概述

Java語言提供了功能強(qiáng)大的異常處理機(jī)制,將所有處理異常的代碼集中放置,以保證正常功能代碼和處理異常的代碼分開。在Java程序設(shè)計(jì)語言中,采用了大量的異常類來進(jìn)行處理,這些異常類可分為兩大類:Java.lang.Exception和java.lang.Error。Exception類解決由程序本身及環(huán)境所產(chǎn)生的異常。而Error類則處理較少發(fā)生的內(nèi)部系統(tǒng)錯(cuò)誤。Exception類異??梢圆东@并進(jìn)行相應(yīng)處理,而Error類異常,則是由用戶按照系統(tǒng)提示關(guān)閉程序。常見的異常類如下表所示:

在以上常見的Java異常類中,每個(gè)異常類反映一類異常錯(cuò)誤,其中包含了異常錯(cuò)誤信息和處理方法。當(dāng)程序運(yùn)行過程中,出現(xiàn)一種異?,F(xiàn)象,產(chǎn)生一個(gè)相應(yīng)的異常類對(duì)象,再由相應(yīng)的異常類進(jìn)行處理,從而避免對(duì)系統(tǒng)產(chǎn)生更大的危害,以保證程序的正常運(yùn)行。

3 常見的異常處理方法

常見的異常處理方法有兩種:一種處理異常是在產(chǎn)生異常的方法中,使用try…catch…finally結(jié)構(gòu);還有一種是進(jìn)行異常的移交,使用關(guān)鍵字throws和throw交給上層方法去處理異常。

在該案例中,對(duì)三種異常進(jìn)行了捕獲,分別是數(shù)組下標(biāo)越界、輸入數(shù)據(jù)格式不正確和Exception異常,當(dāng)觸發(fā)某種異常,則對(duì)相應(yīng)的異常異常進(jìn)行處理。Exception異常類是所有異常的基類,當(dāng)出現(xiàn)catch塊沒有進(jìn)行捕獲的異常,則采用Exception異常類進(jìn)行異常處理。

3.2 異常的移交

實(shí)例分析:初始化參數(shù)x使用了-2,將觸發(fā)NegativeArraySizeException異常,但在Sum方法中不對(duì)該異常進(jìn)行處理,而是在main方法中對(duì)該異常進(jìn)行處理,所以在聲明方法時(shí),使用throws NegativeArraySizeException選項(xiàng),拋出了該異常。使用main 方法對(duì)該方法進(jìn)行捕獲。可見,如果一個(gè)方法沒有對(duì)可能出現(xiàn)的異常進(jìn)行捕獲,調(diào)用該方法的其他方法應(yīng)該對(duì)其可能出現(xiàn)的異常進(jìn)行捕獲。

4 結(jié)束語

在進(jìn)行程序設(shè)計(jì)過程中,異常是不可避免的。這些異常,即使程序本身沒有問題,也有可能產(chǎn)生,所以在開發(fā)時(shí)必須考慮處理。Java語言規(guī)定,在調(diào)用可能拋出捕獲異常的方法時(shí),必須編寫處理異常的代碼,這不僅提高了程序的健壯性,而且避免程序開發(fā)人員忘記編寫必要的容錯(cuò)代碼。本文指出了異常處理的兩種機(jī)制,除此之外還可以使用自定義異常進(jìn)行處理,基于篇幅的原因就不在此討論了。

參考文獻(xiàn):

[1] 李芝興. Java程序設(shè)計(jì)之網(wǎng)絡(luò)編程[M]. 北京: 清華大學(xué)出版社, 2006:194-200.

[2] 張聰品, 趙琛, 糜宏斌. 異常處理機(jī)制研究[J]. 計(jì)算機(jī)應(yīng)用研究, 2005(4):86-89.

[3] 肖連, 崔杜武.Java中可檢查異常的使用策略[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2007(5).

猜你喜歡
異常
煤礦提升機(jī)安全狀態(tài)異常概述
淺談高中化學(xué)實(shí)驗(yàn)不尋常的成因和利用
東方教育(2016年10期)2017-01-16 21:15:18
發(fā)電機(jī)負(fù)序電流異常增大的原因分析
綠色科技(2016年20期)2016-12-27 18:08:35
電力計(jì)量裝置異常的監(jiān)測(cè)方法及處理對(duì)策
電離層異常變化對(duì)短波通信的影響分析
紅外成像技術(shù)在變電設(shè)備檢測(cè)中的實(shí)踐與應(yīng)用
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
探討糖尿病合并促甲狀腺激素、甲狀腺激素異?;颊叩呐R床診斷治療
關(guān)于氣相色譜分析氫氣異常的解決方案
科技視界(2016年24期)2016-10-11 18:58:00
“異常”動(dòng)力
汽車雜志(2016年8期)2016-09-01 16:54:16
修武县| 三河市| 蒙阴县| 罗源县| 磴口县| 兰溪市| 新宾| 财经| 沽源县| 武清区| 桐柏县| 集安市| 乌兰县| 淄博市| 万山特区| 防城港市| 义乌市| 余江县| 泸西县| 湟中县| 徐州市| 长汀县| 齐河县| 宽甸| 保康县| 临沭县| 东城区| 三亚市| 瑞金市| 永昌县| 广南县| 敦化市| 钦州市| 临江市| 通城县| 姚安县| 锡林浩特市| 云林县| 宁河县| 柏乡县| 乌恰县|