A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 黑马-张扬 于 2012-12-3 08:53 编辑

public class X {
public static void main(String [] args) {
try {
badMethod();
System.out.print("A");
}
catch (Exception ex) {
System.out.print("C");
}
finally {
System.out.print("B");
}
System.out.print("D");
}
public static void badMethod() {
throw new Error();
}
}
结果是什么?
A. ABCD
B. 编译失败.
C. 显示C,退出程序.
D. 显示B,C,退出程序.
E. 显示BCD,退出程序.

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
编译失败,都抛Error异常啦
回复 使用道具 举报
编译通过,因为语法上并没有错误,结果显示:
B
Exception in thread "main" java.lang.Error
        at X.badMethod(X.java:16)
        at X.main(X.java:4)
Error异常是不可处理的异常,特点是JVM抛出的严重性问题,这种问题一般不针对性处理,直接修改程序。try和catch语句是针对异常处理的方式,就是针对Exception
所以A和C这两句不会执行,finally语句是一定会被执行的,作用是关闭资源,所以D也不会执行
     我也是新手,刚学习,不知道分析的对不对
回复 使用道具 举报
张其辉 发表于 2012-12-2 19:27
编译通过,因为语法上并没有错误,结果显示:
B
Exception in thread "main" java.lang.Error

谢谢,知道了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马