當前位置:首頁 » 編程語言 » catch在java

catch在java

發布時間: 2023-07-13 16:24:11

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());,如果出現異常可以把異常列印出來。

熱點內容
java位與運算 發布:2025-02-08 18:48:22 瀏覽:217
sift演算法詳解 發布:2025-02-08 18:35:23 瀏覽:580
linux標准錯誤的是 發布:2025-02-08 18:32:07 瀏覽:916
蠻多小說怎麼緩存書架的小說 發布:2025-02-08 18:30:16 瀏覽:889
光遇花開腳本封號嗎 發布:2025-02-08 18:23:15 瀏覽:535
怎麼弄ld帳號和密碼 發布:2025-02-08 18:11:42 瀏覽:629
新逍客20發動機壓縮比 發布:2025-02-08 17:58:10 瀏覽:116
qq號和密碼我都知道為什麼登不上 發布:2025-02-08 17:52:21 瀏覽:872
寶塔伺服器ip進不去 發布:2025-02-08 17:52:18 瀏覽:383
擔保中介源碼 發布:2025-02-08 17:14:37 瀏覽:413