我想问一下,一段程序代码是不是try..catch之后,即使捕捉到异常,依然后执行后面的,如果不捕捉异常就不执行是吗?
还有我如果用了try..catch又不想让它遇到异常继续执行应该怎么办呢
------解决方案--------------------
我想问一下,一段程序代码是不是try..catch之后,即使捕捉到异常,依然后执行后面的,如果不捕捉异常就不执行是吗?
还有我如果用了try..catch又不想让它遇到异常继续执行应该怎么办呢
1、不是你捕捉到异常之后 后面的代码依然执行。而是你捕捉到异常之后后面的代码肯定不会执行,终止了。比如:
try {
//处理异常
int i = 0;
System.out.println(“i = ”+i);
int j = 5/i;
System.out.println("j = "+j);
} catch (Exception e) {
e.printStackTrace();
}
打印 i = 0 而不打印j = ,因为执行到5/j这一行的时候直接报异常了。后面的代码统统不执行。
2、你想让程序遇到异常后面的代码不执行,。。。。。。本来就不会执行的。你如果嫌打印异常看着烦就直接return,或者让catch里面的内容为空catch(Exception e){} 就OK了。
------解决方案--------------------
try ...catch 在中间加return 把程序结束 或者 把异常重新抛出吧
------解决方案--------------------
我补充一点,
public class test {
public static void main(String[] args) {
try{
int a=1/0;
}catch(Exception e){
System.out.println(" Do Nothing");
}
System.out.print(1111);
}
}
try catch 中的语句会因为遇到异常而直接终止try内的语句,但并不会影响try catch 外的代码的执行。
但是如果在catch中添加return语句,那么程序就直接结束了。zgd77521说的很好,我只是做点补充。