999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Java的異常處理機制及其應用的探討

2014-12-31 00:00:00敖勇平
科技致富向導 2014年20期

【摘 要】Java語言擁有強大的異常處理機制,正確地使用好異常處理可以增強程序的健壯性和穩定性,本文對Java異常引起的原因,對異常處理機制的三個重要環節進行了深入的探討,最后通過一個實例來說明Java語言的異常處理的具體應用。

【關鍵詞】Java語言;異常處理;應用

0.引言

Java異常是描述在代碼段中發生的運行出錯情況的對象。程序中的錯誤可能來自于如下兩個方面問題:編譯錯誤和運行錯誤。編譯錯誤是由于所編寫的程序存在語法問題,未能通過由源代碼到目標代碼的編譯過程而產生的錯誤,它將由Java語言的編譯系統負責檢測和報告;運行錯誤是在程序的運行過程中產生的錯誤。在Java語言中,提供了一種獨特的處理異常的機制,通過這種異常處理機制來處理程序中出現的錯誤,從而提高程序的容錯性,使開發出來的程序更為健壯。

1.Java異常類的種類及引起異常的原因

1.1 Java異常類的種類

Java異常類的種類可分成兩大類:(1)Error類:指的是Java運行環境出現的錯誤或系統錯誤,這些錯誤一般是很嚴重的錯誤,即使捕捉到也無法處理,由Java虛擬機生成并拋出,包括系統崩潰、動態鏈接失敗、虛擬機錯誤等,在Java程序中不做處理。(2)Exception類:指一些可以被捕獲且可能恢復的異常情況,是一般程序中可預知的問題。

1.2 Java異常引起原因

Java程序在運行過程中,可能會運行到非正常的執行狀態,這些狀態可能是由以下原因引起的:第一種情況:表達式的計算違反了Java 語言的規則,例如除法運算過程中被整數為0;在載入或鏈接Java 程序時出錯;超出了某些資源限制,例如使用了太多的內存。

第二種情況,Java 程序代碼中的throw 語句被執行。第三種情況,異步異常發生。異步異常的原因可能有:(1)Thread的stop方法被調用。(2)Java虛擬機內部錯誤發生。

2.Java中異常處理機制的三個重要環節

2.1拋出異常

拋出異常就是程序設計時當前代碼中遇到了一個不知道怎么處理的情況,在程序代碼中需要創建一個異常來將這個錯誤描述清楚,并且將這個異常拋出。異常被拋出之后面臨兩個路可走:首先是異常被捕捉并被處理,其次是讓方法繼續拋出這個異常。

拋出異常的方式有兩種:

(1)在方法代碼中使用throw關鍵字來拋出實例化的異常對象。

(2)在方法聲明中使用throws關鍵字拋出方法代碼中throw關鍵字拋出的異常對象。

2.2傳遞異常

異常實例在方法代碼中使用throw關鍵字被拋出后,如果是throws關鍵字后面的異常類列表的某個類型的實例,則方法將繼續拋出這個異常,異常繼續傳遞給方法的調用者,直到被處理掉或到達main()方法,異常傳遞main()方法之后,就會被Java平臺處理掉。

2.3處理異常

處理異常就是根據異常類型,提供不同的catch語句進行處理,Java異常處理機制會將異常類型傳遞給匹配的catch語句,然后catch語句就可以根據異常對象的信息,具體問題分析,進行相應的補救措施,使程序可以繼續運行下去。

Java異常處理機制采用以下三種方法來處理代碼中產生的異常實例:

(1)try...catch語句捕獲并處理異常,使用try…catch語句處理異常可以分為以下兩種方式:

1)多類異常,分類處理;2)多類異常,一并處理。

語法格式如下:

Try{

異常代碼 //根據異常類型,提供不同的catch語句分類進行處理

}catch(Exception1 e){

處理方法1

}catch(Exception2 e){

處理方法2

}

1)語法核心:使用try語句標記出可能異常的代碼塊,使用catch語句將這些異常按匹配規則進行處理。

2)匹配規則:異常實例的類型是catch語句的異常類型或是其子類,若一個catch語句的類型是Throwable類型,則可以用它來處理try語句塊中拋出的所有異常。

(2)try…catch…finally語句塊處理異常,其中finally語句塊在正常情況下都會被執行,唯一不被執行的情況是方法執行了System.exit()方法。若一個異常沒有被處理掉,在拋出之前會先finally之后再被拋出,即使在catch語句中使用return來結束程序,finally執行完后才返回return。Finally語句通常用來釋放程序所占用的資源,如數據庫查詢異常的時候,釋放JDBC連接等。

語法格式如下:

try{

異常代碼

}catch(Exception e){

處理方法

}finally{

必須要執行的代碼

}

(3)用throw語句處理異常,對于處理不了的異常或者要轉型的異常,在方法的聲明處通過throws關鍵字拋出異常或在代碼中用throw關鍵字來拋出異常對象。

語法格式如下:

Public static void 方法名(參數)throws 異常對象

If 語句{

throw 異常對象;

}

3.Java異常處理機制在應用程序中的具體應用

本例設計一個應用程序完成課程成績查詢與輸出工作,在一個數組中存儲一個學生的2門課成績,從鍵盤輸入要選擇查詢的課程代碼(1~2),輸出對應的課程名稱和成績。為防止用戶輸入輸入數據時可能發生的異常情況,在程序設計時特設計了異常處理過程。

3.1應用程序主要代碼

import java.util.InputMismatchException;

import java.util.Scanner;

public class four {

public static void main(String[] args){

int[] classScore={82,87,92};//聲明一個數組且初始化值

Scanner input=new Scanner(System.in);//新建一個鍵盤輸入對象

System.out.println(\"請輸入要查詢的課程代碼:\");try{

int i=input.nextInt(); //輸入一個整數

int result=score[i-1];

System.out.println(\"課程名稱\t成績\");

if(i==201)//課程代碼判斷

System.out.println(\"大學語文:\t\");

else if(i==202)

System.out.println(\"Android應用開發:\t\");

System.out.println(result);//輸出課程的成績

}catch(InputMismatchException e){//異常捕獲及處理

System.out.println(\"輸入課程代碼不正確!\");

}catch(ArrayIndexOutOfBoundsException e){

System.out.println(\"數組下標越界!\");//異常捕獲及處理

}catch(Exception e){

System.out.println(\"程序產生異常,原因為:\"+e);

}finally{

System.out.println(\"程序結束!\");

}

}

}

3.2應用程序異常處理分析

在這個應用程序中,程序開發人員設計了三個catch語句來對可能的異常進行處理,增強程序的健壯性。異常處理如下:

(1)能夠自動判斷輸入數據是不是合法的數字數據,如果不是,第一個catch語句將捕獲“InputMismatchException”異常,中止程序運行,給出提示信息:“輸入不正確,請檢查!”。

(2)能夠自動判斷輸入的數據是否超出了范圍,超出了范圍會導致此程序中數組下標越界,第二個catch語句將捕獲到“ArrayIndexOut

OfBoundsException”異常,中止程序運行,并給出提示信息:“數組下標越界!”。

(3)其他異常檢測,本例中通過“Exception”語句,來捕獲上面兩種之外情況外的其他異常,如果發生了其他的異常,并給出提示信息:“程序產生異常,原因為:+e”。

4.小結

異常處理機制是Java語言的重要機制,正確、合理地使用異常處理可以增強程序的可靠性和健壯性。本文從“什么是異常”入手,分析了Java異常引起的原因,對異常處理機制的三個重要環節進行了較深入的探討,最后以一個簡單的應用程序為例,分析了Java語言的異常處理過程,使我們清楚到看到Java語言強大的異常處理機制。

異常處理機制是一種安全高效的編程策略,是開發應用程序必不可少的部分,但在應用程序開發初期往往容易被忽略。 因此,做為一個合格的Java程序員來說,應該充分掌握Java語言的異常處理機制,在程序開發過程中盡可能的控制異常的發生,盡可能控制拋出大量的異常。

【參考文獻】

[1]丁學鈞,溫秀梅.基于Delphi的異常處理機制及其應用研究[J].福建電腦,2005.7.

[2]耿祥義.Java基礎教程(第3版)[M].北京:清華大學出版社,2012.5.

主站蜘蛛池模板: 国产午夜精品鲁丝片| 日韩精品毛片| 国产女人水多毛片18| 自慰网址在线观看| 国内精品九九久久久精品| 国产精品3p视频| 国产成人亚洲无码淙合青草| 亚洲av无码久久无遮挡| 国产偷国产偷在线高清| 91视频99| 免费国产黄线在线观看| 亚洲女人在线| 欧美成人综合视频| 中文字幕久久精品波多野结| 在线观看91香蕉国产免费| 3344在线观看无码| 欧美视频在线播放观看免费福利资源| 三上悠亚精品二区在线观看| 欧美性天天| 2020精品极品国产色在线观看 | 国内黄色精品| 欧美日韩午夜| 99re这里只有国产中文精品国产精品| 欧美有码在线| 久操中文在线| 欧美成人一区午夜福利在线| 久久96热在精品国产高清| 成人亚洲国产| 日韩精品毛片| 免费一看一级毛片| 国产精品不卡片视频免费观看| 国产微拍精品| 综合社区亚洲熟妇p| 亚洲香蕉久久| 2020极品精品国产| 国产av色站网站| 精品一区二区三区视频免费观看| 成年人久久黄色网站| 国内99精品激情视频精品| 久久亚洲精少妇毛片午夜无码| 亚洲国产综合精品一区| 中文字幕一区二区人妻电影| 免费看美女自慰的网站| 亚洲成AV人手机在线观看网站| 国产免费福利网站| 秘书高跟黑色丝袜国产91在线 | 四虎永久在线精品国产免费| AV不卡无码免费一区二区三区| 亚洲第一成年免费网站| 91国内外精品自在线播放| 亚洲激情区| 无码综合天天久久综合网| 亚洲无码日韩一区| 男人天堂伊人网| 99热国产在线精品99| 亚洲无码视频一区二区三区| 亚洲国产一成久久精品国产成人综合| 综合色在线| 欧美在线精品怡红院| 污视频日本| 精品福利国产| 2021天堂在线亚洲精品专区| 国产精品视屏| 99青青青精品视频在线| 欧美在线中文字幕| A级毛片无码久久精品免费| 国产迷奸在线看| 精品中文字幕一区在线| 激情六月丁香婷婷四房播| 国产中文一区a级毛片视频 | 中文字幕波多野不卡一区| 欧美日韩精品在线播放| 欧美日韩国产综合视频在线观看 | 免费看久久精品99| 色吊丝av中文字幕| 日韩欧美高清视频| 免费观看男人免费桶女人视频| 一本综合久久| 国产三区二区| 女人18毛片久久| 好久久免费视频高清| 亚洲天堂色色人体|