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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© vaqh 中级黑马   /  2014-7-28 19:56  /  983 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 vaqh 于 2014-7-30 08:37 编辑

public class ExceptionTest2 {
        public static void function() throws Exception
        {
                try
                {
                        throw new Exception();
                }
                finally
                {
                        System.out.println("B");
                }
        }
        public static void main(String[] args) {
                try {
                        function();
                        System.out.println("A");
                } catch (Exception e) {
                        System.out.println("C");
                }
                System.out.println("D");
        }
}

7 个回复

倒序浏览
                    DCB
回复 使用道具 举报

是吗,为什么呢
回复 使用道具 举报
BCD
首先不会执行A,发生异常,在try里边异常后面的内容不执行。然后执行function,自然是B,然后是catch块,C,你程序里面没有退出程序的代码,try-catch块以外的内容可以执行。try-catch只是处理了异常,和程序死不死没关系。
回复 使用道具 举报
star5603 发表于 2014-7-28 22:03
BCD
首先不会执行A,发生异常,在try里边异常后面的内容不执行。然后执行function,自然是B,然后是catch块 ...

恩,应该是这样
回复 使用道具 举报
vaqh 发表于 2014-7-28 21:47
是吗,为什么呢

你先运行一下,看看是不是这个结果,
回复 使用道具 举报
sunny~ 中级黑马 2014-7-29 23:24:49
7#
BCD     你运行试试不就知道了
回复 使用道具 举报
hmid 中级黑马 2014-7-30 00:56:52
8#
BCD正解。水贴水回。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马