catch在java
Ⅰ java中try和catch的具體作用
try就像一個網,把try{}裡面的代碼所拋出的異常都網住,然後把異常交給catch{}裡面的代碼去處理,最後執行finally之中的代碼。
無論try中代碼有沒有異常,也無論catch是否將異常捕獲到,finally中的代碼都一定會被執行。
例如:當除數為0時,編譯不會報錯,如果沒有try/catch的話,程序直接崩潰。用try/catch的話,則可以讓程序運行下去,並且輸出為什麼出錯。
(1)catch在java擴展閱讀
java中try....catch的使用原則
1、當代碼中可能會遇到的異常需要用try{ }catch{Exception e}來處理,否則導致程序崩潰。
2、不要在for循環裡面嵌套try catch子句。
3、盡可能的減少try catch子句的嵌套,會影響性能。
4、同一個try子句中多個catch時,異常處理原則。
當一個try塊中包含眾多語句,可能拋出多種不同的異常,只有通過多個catch塊來捕獲不同的異常。而如果兩個異常存在繼承關系,應該把子類異常放在父類異常的前面來捕獲,或者把最小范圍異常放在最前面 ,范圍大的放在後面。
因為是按照catch塊從上往下匹配,當它匹配某一個catch塊的時候,就直接進入到這個catch塊裡面去了,後面在再有catch塊的話,它不做任何處理,直接跳過去,全部忽略掉。
如果有finally的話進入到finally裡面繼續執行。Exception這個異常的根類一定要剛在最後一個catch裡面,如果放在前面或者中間,任何異常都會和Exception匹配的,就會報已捕獲到異常的錯誤。
Ⅱ Java異常處理時如何捕獲異常的。catch裡面的語句是怎麼寫的
try{
//代碼
代碼中通常會出現不知情卻在情理中的錯誤
int
age
=
a.getAge();//如果a對象為空,你卻調用它的方法就會報NullPointerException異常
}catch(//異常類型
NullPointerException
ne){//獲取你可以預知的異常
//異常處理就是你捕獲了這個異常你要這個異常進行哪種操作
//一般的操作就是記錄到日誌里
//然後拋出去或者返回狀態
}catch(Exception
ex){//這個是所有異常的父類
//因為很多異常是不可預知的
//記錄到日誌里
//然後拋出去或者返回狀態
}
Ⅲ java:try{} catch{}是什麼意思
這是一個提示出現異常的代碼。try{}catch(Exception e){}
try{}里邊代指出現異常的代碼。catch(Exception e)中的e就是異常各類,如果你能確定那種異常,就可以用那種異常代碼代替這個e。
而後邊{}就是你處理異常的方法,你可以打出異常,或者是輸出提示出錯了,很靈活。
有時候還會有一個finally{}在最後,這個是一定會處理的代碼,不會因為異常的出現會終止。
(3)catch在java擴展閱讀:
try 是JAVA中常用到的關鍵命令。用於try..catch..finally塊,進行異常捕獲。
try是try..catch..finally塊中用來引導第一部分的關鍵字,用於聲明需要捕獲指定語句塊的異常。
完整的使用方法是:
try {
語句塊1
} catch (<? extends Throwable> e) {
語句塊2.1
} catch (<? extends Throwable> e) {
語句塊2.2
} catch (<? extends Throwable> e) {
語句塊2.3
...
} finally {
語句塊3
}
catch可以出現0次、1次或多次,finally可以出現0次或1次,但是catch和finally不能同時不出現。
catch用法:
當語句塊1中拋出異常時,立即離開語句塊1,之後會在所有catch中依次進行類名比對。如果拋出異常和catch聲明的異常類名一致,或拋出異常是catch聲明的異常的子類,則會進入該catch的語句塊(成為異常的捕獲),在catch的語句塊中可以將異常輸出到命令行或引導用戶進行問題反饋。
如果任何一個catch都不匹配,會像上層調用拋出這一異常(在此之前會進入finally語句塊,詳情參考下面的finally用法)。
finally用法:
在語句塊1、語句塊2中,任何試圖離開try..catch..finally塊的語句都會導致語句塊3被執行,如return throw break continue。在finally的語句塊中可以進行內存回收等工作。
需要注意的是,如果導致離開的不是語句造成的,而是斷電、內存不足等計算機故障,finally語句塊不會被執行。
例子:
public class Test {
public static void main(String[] args) {
int i = 10;
try {
System.out.println(i / 0);
}catch(ArithmeticException ame) {
ame.printStackTrace();
} finally {
System.out.println("byebye");
}
}
}
Ⅳ java中try 與catch的使用
try{
//代碼區
}catch(Exception e){
//異常處理
}
代碼區如果有錯誤,就會返回所寫異常的處理。
首先要清楚,如果沒有try的話,出現異常會導致程序崩潰。
而try則可以保證程序的正常運行下去,比如說:
try{
int i = 1/0;
}catch(Exception e){
........
}
一個計算的話,如果除數為0,則會報錯,如果沒有try的話,程序直接崩潰。用try的話,則可以讓程序運行下去,並且輸出為什麼出錯。
try catch 是捕捉try部分的異常,當沒有trycatch的時候,如果出現異常則程序報錯,加上trycatch,出現異常程序正常運行,只是把錯誤信息存儲到Exception里,所以catch是用來提取異常信息的,可以在Catch部分加上一句System.out.println(e.ToString());,如果出現異常可以把異常列印出來。