让我说我有这个 -
for() { //this is a for-each loop
try {
//my logic
} catch (Exception e) {
System.out.println("Exception caught and handled");
//Some more logic is written..Like calling a method from another class etc..
} //end of try-catch block
}end of for-each loop
如果处理异常,catch块中的逻辑会执行吗?之后,我能够进入for-each循环的下一次迭代吗?
答案 0 :(得分:2)
异常处理不会破坏循环。因此它会进一步迭代 catch-Block中的代码将被执行。
答案 1 :(得分:1)
在你的try-catch块中,引发异常的行将是最后一行,它在当前的迭代中执行。在下一次迭代中,您将重新开始。
当然,如果你遇到异常,catch块会执行。
答案 2 :(得分:1)
首先,如果你自己尝试,你会得到更多的声音。
然而,这是我的想法 -
catch
,并且将执行for-each循环的下一次迭代。但是,如果catch块中的业务逻辑抛出任何异常,那么for循环将会中断。 (这就是为什么,在catch
块中放置任何业务逻辑不是一个好的做法)但是,在更安全的一面,用另一个try-catch块包围你的业务逻辑(在catch块内),即
for() { //this is a for-each loop
try {
//my logic
} catch (Exception e) {
System.out.println("Exception caught and handled");
try{
//Some more logic is written..Like calling a method from another class etc..
} catch(Exception ex){
System.out.println("Exception caught inside Catch Block and handled");
}
} //end of try-catch block
}end of for-each loop