输出结果是啥?求解释

造就王者 发布于 2015/07/07 09:35
阅读 112
收藏 0

@造就王者 你好,想跟你请教个问题:

public class xx {


public static void main(String[] args) {
// TODO Auto-generated method stub
xy();

}
static void xy(){
try{
test();
System.out.println("1");
}catch (RuntimeException x){
System.out.println("2");
}catch(Exception x){
System.out.println("3");
}finally{
System.out.println("4");
}
System.out.println("5");
}
static void test() throws Exception{
throw(new Exception());
}
}

加载中
0
oneMore
oneMore

首先调用 test() 抛出 Exception  ,RuntimeException 匹配不到,到下面的Exception,输出3,然后执行 finally 里面的,输出4,最后 try catch 之后继续执行 ,输出5

0
j&a
j&a

RuntimeException 这个类是   Exception的子类  而你 throw(new Exception()) 父类,所以是:finally 是一定会被执行的

3 4  5


返回顶部
顶部