亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JAVA編程中異常問題處理方式的區別和分析

2019-11-17 04:34:16
字體:
來源:轉載
供稿:網友

一、內層方法拋出異常,外層方法捕捉并處理異常:

public void methodA (){

try{

// 調用methodB

methodB();

}

catch(ExceptionType et){

// 相應處理措施

}

}

public void methodB throws ExceptionType{

if (condition is true)

{

// 相應處理措施

}

else

{

throw new ExceptionType(argument);

}

}

在這個例子中,方法B的頭部中聲明了該方法會拋出一個類型為ExceptionType的異常,在方法體中使用throw子句拋出了一個異常,那么該異常被誰捕捉到呢,答案是方法A。因為異常拋出后,JVM會順著該方法的調用棧一層一層的往上找。因為方法A中有一個catch(ExceptionType et),所以被拋出的異常會被捕捉到并處理。

二、方法中自己捕捉,處理異常:

public methodA() {

try

{

// 可能產生異常的語句

}

catch (ExceptionType et)

{

// 相應的處理

}

}

在這個例子中,方法A使用了try-catch語句塊,那么意味著在方法中所產生的ExceptionType類型的異常都會被捕捉到并在方法內處理。

三、內層方法拋出一個異常,但本身又有try-catch

public methodB() throws ExceptionType{

try

{

// 可能產生異常的語句

}

catch (AnotherExceptionType aet)

{

// 相應處理措施

}

}

在這個例子中有兩種異常處理情況,拋出異常和捕捉異常,如果在try語句塊中產生ExceptionType類型的異常的話,會被拋出。如果產生AnotherExceptionType類型的話,則不會被拋出,因為在方法B的頭部中并沒有聲明會拋出該異常。

四、內層方法拋出一個異常,但本身有try-finally

public methodB() throws ExceptionType{

try

{

// 可能產生異常的語句

}

finally

{

// 一定要執行的語句

}

}

這個例子與上一個例子很像,不同的是沒有catch,但增加了finally。它的意思如果方法B中try語句塊中如果產生了異常,則拋出由外層方法處理。然后方法B繼續執行finally中的語句

下面列舉三種錯誤的異常處理方法:

一、內層方法拋出一個異常,但本身有捕捉這個異常

public methodB() throws ExceptionType{

try

{

// 可能產生異常的語句

}

catch (ExceptionType et)

{

// 相應處理措施

}

}

在這個例子中,方法B在頭部聲明了會拋出一個類型為ExceptionType的異常,但在緊接下來的方法體又用了catch(ExceptionType et),如果產生了異常的話,會有什么結果呢?方法B拋出的異常馬上被自身的catch捕捉到,所以方法頭部的throws實際是沒有作用的。外層方法是接收不到方法B拋出的異常對象的。

二、在try中使用了return,在fianlly中又使用了return

public methodB() {

try

{

// 可能產生異常的語句

return SOMEVALUE;

}

catch ()

{

}

finally

{

return SOMEVALUE_2;

}

}

在這個例證中,我們可以看到在try中返回了SOMEVALUE,那么程序執行到這里是否就結束了呢,其實不是的,因為finally中的語句是肯定會被執行到的,所以最后返回的是SOMEVALUE_2;那么意味者即使程序沒有拋出異常,最后也得不到正確的結果。

三、把catch(Exception e)放在所有catch塊的最前面

public methodB(){

try

{

}

catch (Exception e)

{

...

}

catch (SubException se)

{

...

}

}

在這個例子中,catch(Exception e)被放在所有catch語句塊的最前面,因為Exception所有Exception類型的父類,所以意味著所有在try中產生的異常都會被捕捉到。后面其他的catch都是沒有用的,所以一定要把catch(Exception e)放在最后面,如果前面所有的異常類型都不符合,至少保證還有一個可以處理它。

總結:

A.如果能夠找到一個有意義的方法來捕獲異常,就立即引入這個方法

B.否則就應該考慮做某些處理后傳遞或者再次拋出異常,也可以把異常轉換為另一種形式,然后拋出一個新的異常

C.另一個方法是,可以完全忽略這個異常,而把它加到方法的頭部的throws語句中,由調用這個方法的方法來處理它

D.通過捕獲一個公共的異常超類,可以在一個塊里面捕獲多個異常,但不能夠用一個空的catch語句 塊來完全制止一個異常。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品成人久久久| 国内精久久久久久久久久人| 国产三级精品网站| 国产成人avxxxxx在线看| 亚洲男人7777| 日韩av在线不卡| 久久av资源网站| 国产成人一区三区| 九九热精品视频在线播放| 亚洲а∨天堂久久精品9966| 色老头一区二区三区| 日韩美女在线观看一区| 欧美成在线观看| 国产精品视频播放| 久久成人精品一区二区三区| 成人激情电影一区二区| 久久久久久尹人网香蕉| 在线观看久久久久久| 欧美xxxx18国产| 亚洲国产精品999| 欧美在线视频一区二区| 精品亚洲va在线va天堂资源站| 欧洲精品在线视频| 国产精品日韩久久久久| 亚洲a级在线播放观看| 欧美精品久久久久久久| 欧美综合在线观看| 国产精品久久99久久| 午夜精品久久久久久久99热| 69久久夜色精品国产7777| 国产精品久久久久av免费| 久热精品视频在线免费观看| 91嫩草在线视频| 国产精品美女视频网站| xxx成人少妇69| 亚洲视频在线观看网站| 午夜精品久久17c| 最近免费中文字幕视频2019| 日韩美女视频免费在线观看| 国产性猛交xxxx免费看久久| 国产精品狼人色视频一区| 91高潮精品免费porn| 成人亚洲综合色就1024| 国产成人综合精品| 精品亚洲夜色av98在线观看| 久久夜精品va视频免费观看| 欧美猛交ⅹxxx乱大交视频| 色综合色综合网色综合| 中文字幕日韩精品在线观看| 亚洲最大激情中文字幕| 久久久久久久91| 色综合影院在线| 国产成人精品久久久| 国产精品视频区1| 久久韩剧网电视剧| 91精品国产综合久久男男| 欧美精品久久久久久久久| 国产精品电影网| 亚洲欧美日韩中文在线制服| 成人网在线视频| 欧美视频一区二区三区…| 精品福利樱桃av导航| 国产精品尤物福利片在线观看| 亚洲免费电影在线观看| 在线精品国产成人综合| 国产精品日韩在线一区| 成人激情春色网| 中文字幕无线精品亚洲乱码一区| 国产成人精品久久二区二区| 亚洲第一免费网站| 欧美日本啪啪无遮挡网站| 国产精品69久久久久| 日韩在线观看精品| 综合欧美国产视频二区| 久久亚洲精品一区| 九色成人免费视频| 国产aⅴ夜夜欢一区二区三区| 国产精品免费一区豆花| 成人激情视频在线播放| 国产激情综合五月久久| 久久久亚洲福利精品午夜| 亚洲精品成a人在线观看| 久久免费观看视频| 成人黄色午夜影院| 精品久久久国产精品999| 日韩av一区在线| 亚洲精品网址在线观看| 中文字幕精品在线视频| 欧美性极品少妇精品网站| 97国产suv精品一区二区62| 2019中文字幕在线| 97涩涩爰在线观看亚洲| 3344国产精品免费看| 欧美噜噜久久久xxx| 日韩电影大片中文字幕| 日韩免费观看在线观看| 91免费福利视频| 欧美精品videossex88| 欧美日韩精品在线| 日韩一区二区福利| 6080yy精品一区二区三区| 精品亚洲国产视频| 国产欧美日韩精品丝袜高跟鞋| 国产成人精品久久二区二区| 久久免费视频观看| 国产精品99久久久久久白浆小说| 综合网日日天干夜夜久久| 国产成人精品av| 亚洲高清久久网| 91亚洲永久免费精品| 国产精品pans私拍| 日韩视频免费大全中文字幕| 欧美日韩亚洲一区二区| 欧美激情视频一区二区| 亚洲美女自拍视频| 中文字幕国产精品久久| 久久精品国产96久久久香蕉| 久久亚洲成人精品| 国产精品大陆在线观看| 成人午夜两性视频| 日本精品性网站在线观看| 久久亚洲精品中文字幕冲田杏梨| 国产福利精品视频| 日韩av一区在线观看| 日韩精品亚洲视频| 国产精品一区二区久久久久| 欧美日韩国产精品一区二区不卡中文| 国产精品高清在线| 国产精品美女www爽爽爽视频| 日本一区二区不卡| 亚洲精选一区二区| 亚洲欧美国产精品久久久久久久| 国产精品va在线播放| 亚洲人成在线播放| 不用播放器成人网| 欧美另类99xxxxx| 亚洲精品国产成人| 国产精品久久久久久影视| 日本精品视频在线| 亚洲女同精品视频| 日韩国产高清污视频在线观看| 国产成人精品日本亚洲专区61| 日韩视频免费观看| 国产精品爽爽ⅴa在线观看| 久久综合亚洲社区| 日韩中文字幕视频| 国产日韩综合一区二区性色av| 97国产精品人人爽人人做| 97香蕉超级碰碰久久免费的优势| 国产一区二区香蕉| 国产精品美女在线观看| 国产99久久精品一区二区| 国产精品电影久久久久电影网| 一区二区三区回区在观看免费视频| 欧美激情欧美狂野欧美精品| 国产精品盗摄久久久| 91精品国产91久久久久久久久| 最好看的2019的中文字幕视频| 色综合伊人色综合网| 日韩精品在线影院| 国产高清在线不卡| 精品久久在线播放| 在线视频免费一区二区| 中文字幕少妇一区二区三区|