A. java的try catch語句在循環里執行,如果拋出異常,還繼續循環嗎謝謝了!

  1. 如果異常發生的位置在try代碼塊里,那麼如果在catch里,沒有主動拋出異常,並且catch的代碼沒有發生異常,循環繼續。

  2. 總之,循環是否中斷,看 代碼是否自己將異常處理了,如果程序處理了,不拋給 JVM,那麼循環就不會終止,另外要注意自己的catch代碼塊是否也可能出現異常。

  3. 語句會拋出你自定義的異常,這種異常程序要求必須try----catch處理或者聲明拋出異常。

  4. throwsXXException(自定義異常)想要重試還是異常就終止的話,需要聲明拋出異常,也就是告訴虛擬機,如果此時再次拋出異常,則直接拋給調用者,如果調用者沒有對該異常進行處理,那麼程序會彈出提示異常關閉。

B. try catch在Java中遇到for循環怎麼用,在for循環裡面還是外面用

外面。如果遇到異常,循環停止。如果放在循環裡面,就會一直拋出異常信息,最後內存溢出。

樓下說我的錯誤:附上代碼你運行下
放在循環裡面捕獲:

while (true)
{
try
{
throw new NullPointerException();

}catch (Exception e)
{
e.printStackTrace();
}

}
程序會一直列印異常信息。

放在外面捕獲:

try
{
while (true)
{
throw new NullPointerException();
}
}
catch (Exception e)
{
e.printStackTrace();
}
列印一次就停止。

C. Java中的try catch的作用

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

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

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



(3)javafortrycatch擴展閱讀

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匹配的,就會報已捕獲到異常的錯誤。

D. java中try和catch的具體作用

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

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

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



(4)javafortrycatch擴展閱讀

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匹配的,就會報已捕獲到異常的錯誤。

E. java中try到某個異常catch中如何重新運行異常的該行代碼

把要執行的那段代碼,抽出一個方法,在try... catch 里調用
然後catch里捕捉到一場再調用。
可以用個循環控制重試的次數。

F. java try catch 處理: try catch 中間有for循環,循環時可能會catch到異常,但是我想一直循環下去

你是想說執行的程序可能會拋出異常但是你又不想在當前的程序處理???
那就不要用try catch 直接拋出異常不就完了~~~~~

G. 求解一個java try catch的問題,很簡單

當一個參數有不確定性因素的時候那麼用到這個參數的方法就可能出現異常,兩種方法雖然看上去結果差不多,實際上還是有很大差距的,當String[] a 作為一個參數,但你僅僅只是過濾掉其中不用的元素,沒有必要用到try catch,有業務就有可能有異常,所以你上面的演算法除非只限制a數組過濾後為數字(並不是上面用的判斷方法),第一種程序在正常用戶輸入的情況下是通不過的,一定要try catch,但是try catch 並不只有 if else 的功能,第二中方法中起關鍵作用的是continue,如果你捕捉到的異常讓它爛在程序里不拋出去是沒有意義的,所以大多數情況下try catch不作純if else 的作用,正確的用法應該是先try catch,然後在塊中code,這樣既清潔又不擾亂各自的職能:如try{
String[] a = {"1","*","4","#","6"};
int count = 0;
for(int i=0;i<a.length;i++){
if(!a[i].equals("*") && !a[i].equals("#")){
count = count + Integer.parseInt(a[i]);
}
else{
continue;
}
}
System.out.println("count的結果(不用try catch的結果):"+count);
}
catch (Exception e) {
throw e;
}
你可以把 String[] a = {"1","*","4","#","6"};
換成String[] a = {"1","*","4","#","6","a"};試試,如果你一定要過濾,那麼在用戶輸入千奇百怪的字元中你能認識每一個嗎?所以只有判斷a[i]為數字再相加才是正確的方法

H. java 的一個 try catch 問題

如果代碼存在必須捕獲的異常(比如SQLException),則需要try-catch處理。
其他情況可以根據自己的實際需要看看是否需要捕獲異常。
上面的代碼除了start不知道幹嘛的,剩下沒有需要try-catch的