當前位置:首頁 » 編程語言 » javatry

javatry

發布時間: 2023-05-21 11:26:04

java中try和catch的具體作用

try就像一個網,把try{}裡面的代碼所拋出的異常都網住,然後把異常交給catch{}裡面的代碼去處理,最後執行finally之中的代碼。

無論try中代碼有沒有異常,也無論catch是否將異常捕獲到,finally中的代碼都一定會被執行。

例如:當除數為0時,編譯不會報錯,如果沒有try/catch的話,程序直接崩潰。用try/catch的話,則可以讓程序運行下去,並且輸出為什麼出錯。



(1)javatry擴展閱讀

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里try是干什麼的

「try-catch-finally語句塊」用來捕獲並處理異常。

你可能會想,如果你寫程序的時候有意的去避免異常,那麼「try-catch-finally語句塊」不就沒什麼用了嗎?可是,你的程序不是給你自己使用的吧?如果你要求用戶輸入1個數字,而且你的程序也明確提示了用戶需要輸入的是數字,但用戶就是輸入了「英文字母」,那麼,你的程序沒有「try-catch-finally語句塊」一定會直接崩潰的。而如果用了「try-catch-finally語句塊」,並將這個異常處理為「再次提醒用戶需要輸入的是數字,並再次允許用戶重新輸入」,那你的程序就不會半途掛掉。

【示例】

//用"try-catch"強制用戶必須輸入一個數字!
importjava.util.Scanner;
publicclassTest2{
publicstaticvoidmain(Stringargs[]){
doubled=0;
booleanbadInput=true;
Scannerinput;
while(badInput){
System.out.println("請輸入1個數字:");
input=newScanner(System.in);
try{
d=input.nextDouble();
}catch(Exceptione){
System.out.println("您輸入的不是數字!");
continue;
}
badInput=false;
}
System.out.println("您輸入的是:"+d);
}
}

㈢ java:try{} catch{}是什麼意思

這是一個提示出現異常的代碼。try{}catch(Exception e){}

try{}里邊代指出現異常的代碼。catch(Exception e)中的e就是異常各類,如果你能確定那種異常,就可以用那種異常代碼代替這個e。

而後邊{}就是你處理異常的方法,你可以打出異常,或者是輸出提示出錯了,很靈活。

有時候還會有一個finally{}在最後,這個是一定會處理的代碼,不會因為異常的出現會終止。

(3)javatry擴展閱讀:

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捕獲異常的問題

在java中添加捕獲異常代碼時,需要把認為可能會出現異常的代碼包括在try語句塊內,處理異常的代碼包括在catch語句內。在程序執行時,如果try語句內的代碼出現錯誤,try會創建異常對象並拋出,catch捕獲異常對象,則catch語句塊內的代碼將會執行,這樣就可以處理異常錯誤了。

void fun1()

{

throw int();//拋出錯誤信息

}

int main()

{

try

{

fun1();

}

catch (int &e)//捕獲錯誤信息

{

cout << "Exception" << endl;

cout << e << endl;

}

return 0;

}

(4)javatry擴展閱讀

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

}

熱點內容
asp編程詞典 發布:2024-05-05 09:09:50 瀏覽:524
引流群控腳本 發布:2024-05-05 08:42:14 瀏覽:177
sql測試題和答案 發布:2024-05-05 08:42:09 瀏覽:892
https加密鏈接 發布:2024-05-05 08:28:35 瀏覽:444
對等區域網與客戶機伺服器有什麼不同 發布:2024-05-05 07:51:15 瀏覽:175
win7Linux修復linux 發布:2024-05-05 07:47:17 瀏覽:61
oracle批處理腳本 發布:2024-05-05 07:32:20 瀏覽:393
linuxftp響應慢 發布:2024-05-05 07:23:03 瀏覽:803
sql查詢所有欄位 發布:2024-05-05 07:22:07 瀏覽:672
電腦的存儲符號 發布:2024-05-05 07:15:21 瀏覽:132