收录日期:2018/08/16 06:40:19 时间:2016/05/20 23:29:56 标签:Java SE
如题~
异常出现以后后面的代码就不执行了。但是finally里面的一定会执行的。
是吗?
但是我自己写了一段代码做试验,结果却并非如此
//test代码如下
import java.util.*;

public class test
{
public static void main(String[] args) 
{
try{
int i=0;
int j=100;
j/=i;
}
catch(Exception e){
System.out.println(e);
}
System.out.println("Hello World!");
}
}

输出的结果是:
java.lang.ArithmeticException: / by zero
HelloWorld!

-_-
不执行的只是try{..}中发生异常后的代码
而程序中try外的代码还是要继续执行的
呵呵有意思!
如果在异常代码里有exit(0)退出 那么后面的都不能执行了 即使finally
也不执行
你的程序里面try以外地代码当然要执行,干嘛不执行呢?
提出这个问题只是因为工作上有人和我争论一个异常处理的问题
呵呵
仅此而已