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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© morning_ 中级黑马   /  2015-7-28 12:42  /  507 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下边这个程序毕老师在视频里运行没有问题,自己运行就编译报错。。。
class Demo
{
        int div(int a,int b)throws ArithmeticException,ArrayIndexOutOfBoundsException//在功能上通过throws的关键字声明了该功能有可能会出现问题。
        {

                int[] arr = new int[a];

                System.out.println(arr[4]);

                return a/b;
        }
}


class  ExceptionDemo2
{
        public static void main(String[] args) //throws Exception
        {
                Demo d = new Demo();
                try
                {
                        int x = d.div(5,0);
                        System.out.println("x="+x);
                }
               
                catch(Exception e)
                {
                        System.out.println("hahah:"+e.toString());
                }
               
                catch (ArithmeticException e)
                {
                        System.out.println(e.toString());
                        System.out.println("被零除了!!");

                }
                /*
                catch (ArrayIndexOutOfBoundsException e)
                {
                        System.out.println(e.toString());
                        System.out.println("角标越界啦!!");
                }
               
                */
               

                System.out.println("over");

        }
}

E:\heimacode\1.jpg

6 个回复

倒序浏览
编译报错如图。

1.jpg (52.03 KB, 下载次数: 6)

1.jpg
回复 使用道具 举报
我也遇到相同的问题坐等大神解答
回复 使用道具 举报
因为Exception是所有异常的父类,不能放在第一个catch的,否则下面的就没用了。父类异常必须放在子类异常的下面。
回复 使用道具 举报 1 0
lizf2010 发表于 2015-7-28 14:27
因为Exception是所有异常的父类,不能放在第一个catch的,否则下面的就没用了。父类异常必须放在子类异常的 ...

奥对对对,看视频的时候没注意老师编译的时候把Excepiton给注释了。。。
回复 使用道具 举报
你写错了.顺序不对catch Exception写之最后面
回复 使用道具 举报
morning_ 发表于 2015-7-28 15:38
奥对对对,看视频的时候没注意老师编译的时候把Excepiton给注释了。。。 ...

:郁闷
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马