黑马程序员技术交流社区

标题: throw和throws的区别? [打印本页]

作者: date1130    时间: 2014-10-9 09:18
标题: throw和throws的区别?
RT,它们俩的真正区别是什么?
作者: sk0806    时间: 2014-10-9 10:02
throws:自己不处理异常,抛给上一级,如果是主函数,则抛给JVM虚拟机处理
throw:则自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出
作者: Freedom0013    时间: 2014-10-9 10:11
我想的是
throws使用在函数上,后便可以跟上多个异常名称,用,隔开
throw使用在函数中,后面跟异常对象
作者: Captain_Jack_Sp    时间: 2014-10-9 10:14
throws:往上抛。throw:自己处理
作者: Ailee    时间: 2014-10-9 11:46
throw用于抛出异常对象,用在函数内。throws用于抛出异常类,用在函数上。
作者: 沙拉很好吃    时间: 2014-10-9 13:09
一个是作用于函数上,一个是函数内,函数上是throws,这个直接抛出给调用者处理,而throw是自定义异常的抛出方式
作者: 郑诗博    时间: 2014-10-9 14:56
本帖最后由 郑诗博 于 2014-10-9 15:03 编辑

1.throws用于声明,它并不是一个可以执行的语句。throws放在方法声明的后面部分,用来说明这个方法可能会抛出什么异常。例public void one( )throws NullPointerException.就是在方法上声明里可能有一个空指针引用异常。
2.throw则是一个动作,执行throw语句的时候会抛出一个异常. ps.代码应该没有写错。大概就是这个意思,具体的我也不知道。class Demo
{
        public void method()
        {
                try
                {
                        throw new Exception("抛出异常");
                }
                catch(Exception e)
                {
                        System.out.println("捕捉异常");
                        System.out.println(e.tostring);
                        System.out.println(e.getMessage);
                }
                finally
                {
                        //关资源。
                }
        }
}

   







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