異常javatry
❶ 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中異常處理語句有哪些
JAVA使用try-catch語句來處理異常。
將有可能出現的異常操作放在try-catch的try部分,一旦try部分拋出異常對象,或調用某個可能拋出異常對象的方法,並且該方法拋出了異常對象,那麼try立即結束執行,轉向catch部分。所以程序將發生異常後的處理放在catah部分。
❹ 在java中,用try拋出異常,和用throw拋出異常,二者有什麼區別
try語句是用來捕獲異常
而throw是用來拋出異常,再對其進行相關包裝,最後在將包裝後的異常信息拋出。
二者可以結合使用。
❺ 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;
}
(5)異常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
}
❻ java:try{} catch{}是什麼意思
這是一個提示出現異常的代碼。try{}catch(Exception e){}
try{}里邊代指出現異常的代碼。catch(Exception e)中的e就是異常各類,如果你能確定那種異常,就可以用那種異常代碼代替這個e。
而後邊{}就是你處理異常的方法,你可以打出異常,或者是輸出提示出錯了,很靈活。
有時候還會有一個finally{}在最後,這個是一定會處理的代碼,不會因為異常的出現會終止。
(6)異常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");
}
}
}