美文网首页
throw和throws的区别

throw和throws的区别

作者: 倚仗听江 | 来源:发表于2021-01-06 14:24 被阅读0次

    位置不同:

    1. throws 用在方法上,后面跟的是异常类,可以跟多个; 而 throw 用在方法内,后面跟的是异常对象。

    功能不同:
    2.throws 用来声明异常,让调用者只知道该功能可能出现的问题,可以给出预先的处理方式throw 抛出具体的问题对象(指抛出的一个具体的异常类型),执行到 throw,功能就已经结束了,跳转到调用者,并将具体的问题对象抛给调用者。也就是说 throw 语句独立存在时,下面不要定义其他语句,因为执行不到。

    public static void main(String[] args) {
            try {
                //让调用者只知道该功能可能出现的问题,可以给出预先的处理方式
                test();
            } catch (IOException e) {
                e.printStackTrace();
            }
            //跳转到调用者,并将具体的问题对象抛给调用者
            throw new RuntimeException();
            //此处会报错,因为永远执行不到
            int num = 0;
        }
    
    public static void test() throws IOException {
    
    }
    
    1. throws 表示出现异常的一种可能性,并不一定会发生这些异常; throw 则是抛出了异常,执行 throw 则一定抛出了某种异常对象。

    2. 两者都是消极处理异常的方式,只是抛出或者可能抛出异常,但是不会由方法去处理异常,真正的处理异常由方法的上层调用处理。

    相关文章

      网友评论

          本文标题:throw和throws的区别

          本文链接:https://www.haomeiwen.com/subject/sgvnoktx.html