㈠ java的try catch語句在循環里執行,如果拋出異常,還繼續循環嗎謝謝了!
如果異常發生的位置在try代碼塊里,那麼如果在catch里,沒有主動拋出異常,並且catch的代回碼沒有發生異常,循環繼續答。
總之,循環是否中斷,看 代碼是否自己將異常處理了,如果程序處理了,不拋給 JVM,那麼循環就不會終止,另外要注意自己的catch代碼塊是否也可能出現異常。
語句會拋出你自定義的異常,這種異常程序要求必須try----catch處理或者聲明拋出異常。
throwsXXException(自定義異常)想要重試還是異常就終止的話,需要聲明拋出異常,也就是告訴虛擬機,如果此時再次拋出異常,則直接拋給調用者,如果調用者沒有對該異常進行處理,那麼程序會彈出提示異常關閉。
㈡ java中try catch和循環結合
public static void main(String[] args) {
java.util.Scanner input =new java.util.Scanner(System.in);
int a=0;
System.out.println("請輸入一個整數:");
for (int i = 0; i < 5; i++) {
try {
a=input.nextInt();
System.out.println("你輸入的整數是:"+a);
} catch (Exception e) {
// TODO: handle exception
String errorInput=input.nextLine();//接收你的錯誤輸入
System.out.println("輸入錯誤!請重新輸入!");
}
}
}
㈢ java中try和catch的具體作用
try就像一個網,把try{}裡面的代碼所拋出的異常都網住,然後把異常交給catch{}裡面的代碼去處理,最後執行finally之中的代碼。
無論try中代碼有沒有異常,也無論catch是否將異常捕獲到,finally中的代碼都一定會被執行。
例如:當除數為0時,編譯不會報錯,如果沒有try/catch的話,程序直接崩潰。用try/catch的話,則可以讓程序運行下去,並且輸出為什麼出錯。
(3)javatrycatch循環擴展閱讀
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的要注意的規則
一:使用trycatch的場合
如果不使用這種try結構時,代碼報錯退出就無法繼續執行。有的代碼出錯就應該退出,有的出錯尚可以補救,就不應該退出。對於這種出錯不應該退出的就需要使用這種結構,在catch中進行補救。
二:使用trycatch的規則
a.盡量不要將try…catch寫在循環中
b.如果能捕獲多個異常,那麼先捕獲小異常,在捕獲大異常
try{
//....
}catch(RuntimeExceptione){//小異常
//處理1
}catch(Exceptione){//中異常
//處理2
}catch(Throwablet){//大異常
//處理3
}
c.try{ .....}代碼塊裡面的代碼盡量的少,避免出現大段大段的代碼
d.catch( ) 盡量避免使用萬能代碼捕獲所有的異常,比如
try{
//代碼
}catch(Throwablet){//這樣寫就捕獲了所有異常,不便於區分處理
//Throwable是錯誤和異常的父類
}
e.適當配合finally代碼塊
finally可以沒有,有的話只能有一個。無論有沒有發生異常,它總會在這個異常處理結構的最後運行。finally總是要執行,這以可以在異常處理最後做一些清理工作。如關閉IO流等
try{
//IO流代碼
}catch(IOExceptione){
}finally{
ioinput.close();//流的關閉
}
㈤ java try catch 處理: try catch 中間有for循環,循環時可能會catch到異常,但是我想一直循環下去
你是想說執行的程序可能會拋出異常但是你又不想在當前的程序處理???
那就不要用try catch 直接拋出異常不就完了~~~~~
㈥ java中try到某個異常catch中如何重新運行異常的該行代碼
把要執行的那段代碼,抽出一個方法,在try... catch 里調用
然後catch里捕捉到一場再調用。
可以用個循環控制重試的次數。