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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴凯 中级黑马   /  2013-6-24 23:33  /  1400 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙百鑫 于 2013-6-27 07:33 编辑

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

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

8 个回复

倒序浏览
throw  new Exception();就是告诉虚拟机要抛出异常,把他注释掉就行了。
回复 使用道具 举报
运行不通过 函数内部throw Exception 外部需要声明 throws  Exception  改成throw RuntimeException() 运行结果 B C D
回复 使用道具 举报
  1. class Demo
  2. {        
  3.         public static void func()
  4.         {
  5.                 try
  6.                 {
  7. //                         System.out.println("f");   
  8.                         throw  new RuntimeException();
  9.                                                                         
  10.                 }
  11.                 finally
  12.                 {
  13.                         System.out.println("B");
  14.                 }
  15.         }
  16.         public static void main(String[] args)
  17.         {
  18.                 try
  19.                 {
  20.                         func();
  21.                         System.out.println("A");
  22.                 }
  23.                 catch(Exception e)
  24.                 {
  25.                         System.out.println("C");
  26.                 }
  27.                 System.out.println("D");
  28.         }
  29. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
public static void func() throws Exception {//因为此方法抛出了异常,所以要在此处获取异常,
                try {
                        throw new Exception();
                } finally {
                        System.out.println("B");
                }
        }

        public static void main(String[] args) {
                try {
                        func();
                        System.out.println("A");
                } catch (Exception e) {
                        System.out.println("C");
                }
                System.out.println("D");
        }
}
结果是:
BCD
只要抛出了异常,在try{}中抛出了异常的后的代码不再执行,如果捕获了异常,那么执行catch{}中的,最后在try{}外边的。希望对你有帮助!

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
运行报错了,gunc方法里面你try了但是你没catch呀
  public static void func()
                        {
                                try
                                {
                                       throw  new Exception();
                                                                                                                               
                                }catch(Exception e){}
                                finally
                                {
                                        System.out.println("B");
                                }
                        }
加了后运行结果B A D
回复 使用道具 举报
                        public static void func()throws Exception
                        {
                                try
                                {
                                       throw  new Exception();
                                                                                                                               
                                }
                                finally
                                {
                                        System.out.println("B");
                                }
                        }
声明抛出异常  结果 B C D
回复 使用道具 举报
楼主您好。我已将您的帖子改成已解决。如果帖子发布长时间没加分。及时联系我。以免漏分的情况发生{:soso_e100:}
回复 使用道具 举报
吴凯 中级黑马 2013-6-28 11:48:55
9#
孙百鑫 发表于 2013-6-27 07:33
楼主您好。我已将您的帖子改成已解决。如果帖子发布长时间没加分。及时联系我。以免漏分的情况发生{:soso_e ...

啊.. 多谢版主啊 有时候忙 没上线, 多谢各位给我解答的同仁
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马