黑马程序员技术交流社区

标题: 各位看看这第三行那个throws加和不加是一样的吗? [打印本页]

作者: 小洋人最happy    时间: 2012-11-21 15:12
标题: 各位看看这第三行那个throws加和不加是一样的吗?
class Demo
{
        int div(int a,int b) throws Exception //在功能上通过throws的关键字声明了该功能有可能会出现问题
        {
                return(a/b);
        }
}


class  ExceptionDemo1
{
        public static void main(String[] args) //throws Exception
        {
                Demo d = new Demo();
                try
                {
                        int x = d.div(4,1);
                        System.out.println("x="+x);
                }
                catch (Exception e)
                {
                        System.out.println(e.toString());
                }       
               

               
               
                System.out.println("Over");
        }
}



作者: 怪盗急得    时间: 2012-11-21 15:21
不加可以,程序执行到有问题的代码的时候会报出异常,然后程序结束,后面的程序代码也不会被执行,这种情况就是运行时异常RuntimeException。如果在有问题的函数上声明异常让调用者去处理这个异常,那么有问题的代码被处理了之后,问题代码后面的程序还会被继续执行,这种就叫做编译时异常。
作者: 崔利鹏    时间: 2012-11-21 15:33
不加应该可以的,等到程序运行到此处出错就会停止了,在不会像你如果加throws那种抛出异常
作者: filter    时间: 2012-11-21 16:49
主类的main方法中已经有了try,catch动作,用于处理捕获异常
throws Exception不加可以,这个动作是在方法上声明抛出异常,可以抛给系统异常处理机制exception或者自定义异常,交给系统处理或者自定义动作
thorws和try用哪一种根据需求来定




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2