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

java中catch

發布時間: 2022-06-16 20:14:05

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

try{}catch{}是指在java用來捕捉異常的,出現上述字元說明運行過程中出現了異常,出現異常不會立即跳出程序,可以經過處理後讓程序繼續運行或者跳出。

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

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

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

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

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

(2)java中catch擴展閱讀:

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用在捕獲受檢測異常。例如,在計算除法時,有可能用戶輸入了0作為除數。從而導致2/0這樣的情況出現。因此在代碼中你應該對這樣的情況進行處理。因為這樣的情況是你預先知道可能會出現的情況且這樣的情況是系統可以處理的。這時就要用try catch語句。如果你知道會出現這樣的問題。但是這樣的問題系統不能處理,你就要拋出。拋出的異常是由程序員修改源代碼來解決的。這種叫運行時異常系統無法自己處理。

Ⅳ Java里try catch的簡單用法

Java里try
catch的簡單用法:
1、try+catch
程序的流程是:運行到try塊中,如果有異常拋出,則轉到catch塊去處理。然後執行catch塊後面的語句
擴展部分:
1、try+catch+finally
程序的流程是:運行到try塊中,如果有異常拋出,則轉到catch塊,catch塊執行完畢後,執行finally塊的代碼,再執行finally塊後面的代碼。
如果沒有異常拋出,執行完try塊,也要去執行finally塊的代碼。然後執行finally塊後面的語句
2、try+finally
程序的流程是:運行到try塊中,如果有異常拋出的話,程序轉向執行finally塊的代碼。那末finally塊後面的代碼還會被執行嗎?不會!因為沒有處理異常,所以遇到異常後,執行完finally後,方法就已拋出異常的方式退出了。

Ⅳ java中對catch捕獲的異常有什麼限制

因為System.out.println這個方法永遠不會拋出InvalidKeyException這個異常,所以catch里的代碼
永遠也不
會被執行,IndexOutOfBoundsException
在操作數組時可能會拋出,所以沒什麼問題。

Ⅵ 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中try 與catch的使用

try{

//代碼區
}catch(Exception e){
//異常處理
}

try語句:
try語句用大括弧{}指定了一段代碼,該段代碼可能會拋棄一個或多個例外。
catch語句:
catch語句的參數類似於方法的聲明,包括一個例外類型和一個例外對象。例外類型必須為Throwable類的子類,它指明了catch語句所處理的例外類型,例外對象則由運行時系統在try所指定的代碼塊中生成並被捕獲,大括弧中包含對象的處理,其中可以調用對象的方法。
catch語句可以有多個,分別處理不同類的例外。Java運行時系統從上到下分別對每個catch語句處理的例外類型進行檢測,直到找到類型相匹配的catch語句為止。這里,類型匹配指catch所處理的例外類型與生成的例外對象的類型完全一致或者是它的父類,因此,catch語句的排列順序應該是從特殊到一般。
也可以用一個catch語句處理多個例外類型,這時它的例外類型參數應該是這多個例外類型的父類,程序設計中要根據具體的情況來選擇catch語句的例外處理類型。

Ⅷ java中try和catch的具體作用

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

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

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



(8)java中catch擴展閱讀

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 catch

這段代碼
1.返回的值是5

2.沒有任何輸出效果。
執行過程:
1.首先執行main方法。調用靜態函數getconn();
2.定義變數conn
。初始值為8.
3.進入try
代碼塊。將conn的值改寫成5.過程中沒有發生異常。跳過catch語句塊。
4.執行return語句,返回conn變數值,5。
5.返回函數調用的地方,也就是主函數。
6.運行結束。
代碼要點解釋:
使用try
catch
1.無異常發生
包裹起來的代碼塊執行時與正常的語句塊沒有不同。
2.發生異常
21.try語句塊中,從發生異常的哪行代碼處斷開,不再往下執行,跳轉到catch語句塊中
22.程序會根據try中發生的異常的類型,選擇最合適的catch語句塊。按照catch的順序向下選擇,遇到適當的范圍,就會進入catch塊執行並跳出catch,注意catch語句可以有多個,但只執行一次。因此應當按照范圍從小到大排列。
23.try
catch語句執行完後會繼續執行catch後面的語句,不會重新返回try中。

Ⅹ java catch多個異常

//例子一
import java.util.Random;

public class Test
{
public static void main(String[] args)
{
final Random r=new Random();
final Exception[] exs=
{
new Exception1(),
new Exception2(),
new Exception("Exception")
};

for(int i=0;i<5;i++)
{
try
{
throw exs[r.nextInt(exs.length)];
}
catch(Exception1 ex)
{
System.out.println(ex);
}
catch(Exception2 ex)
{
System.out.println(ex);
}
catch(Exception ex)
{
System.out.println(ex);
}
}
}
}

class Exception1 extends Exception
{
@Override
public String toString()
{
return "Exception1";
}
}

class Exception2 extends Exception
{
@Override
public String toString()
{
return "Exception2";
}
}

//例子二(需較新的java版本才能支持)
import java.util.Random;

public class Test
{
public static void main(String[] args)
{
final Random r=new Random();
final Exception[] exs=
{
new Exception1(),
new Exception3(),
new Exception2(),
new Exception("Exception")
};

for(int i=0;i<5;i++)
{
try
{
throw exs[r.nextInt(exs.length)];
}
catch(Exception3|Exception1|Exception2 ex)
{
System.out.println(ex);
}
catch(Exception ex)
{
System.out.println(ex);
}
}
}
}

class Exception1 extends Exception
{
@Override
public String toString()
{
return "Exception1";
}
}

class Exception2 extends Exception
{
@Override
public String toString()
{
return "Exception2";
}
}

class Exception3 extends Exception
{
@Override
public String toString()
{
return "Exception3";
}
}

熱點內容
頭條緩存的視頻格式 發布:2025-02-06 20:32:18 瀏覽:113
ftp不顯示文件夾 發布:2025-02-06 20:30:37 瀏覽:123
蘋果手機解壓怎麼打開 發布:2025-02-06 20:29:35 瀏覽:473
單片機程序存儲器 發布:2025-02-06 20:29:31 瀏覽:206
串的c語言 發布:2025-02-06 20:25:44 瀏覽:745
編程函數總結 發布:2025-02-06 20:09:11 瀏覽:316
編程obj 發布:2025-02-06 19:59:52 瀏覽:844
津貼腳本 發布:2025-02-06 19:44:10 瀏覽:741
好分數里如何修改密碼 發布:2025-02-06 19:42:30 瀏覽:157
mysql存儲過程判斷 發布:2025-02-06 19:40:15 瀏覽:855