throw和throws处理需要注意捕捉try-catch

 

1.问题

  throw和throws是把异常抛给上层处理,如果上层不去try-catch,那么异常会在后台输出,

  但上层的程序因为没有捕捉异常还是会继续的执行

 

2.throw是语句抛出一个异常;语法:throw(异常对象)

   

 

 

3.throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)   ;

   语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......}

   当某个方法可能会抛出某种异常时用于throws 声明可能抛出的异常,然后交给上层调用它的方法程序处理。如:

   

 

 

4.throw与throws的区别

   第一点:throw用在方法体内,上面代码显示了,是直接在main方法体内

                 throws用在方法声明后面,表示再抛出异常,由该方法的调用者来处理

   第二点:

               throw是具体向外抛异常的,抛出的是一个异常实例

               throws声明了是哪种类型的异常,使它的调用者可以捕获这个异常

   第三点:

            throw,如果执行了,那么一定是抛出了某种异常了,安生throws表示可能出现,但不一定

    第四点:

           同时出现的时候,throws出现在函数头、throw出现在函数体,两种不会由函数去处理,真正的处理由函数的上层调用处理

    第五点:

           throws关键字通常被bai应用在声明方法时du,用来指定可能抛出的异常。zhi多个异常可以使用逗号隔开。

           当在主函数中调dao用该方法时,如果发生异常,就会将异常抛给指定异常对象。

    第六点:

           throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,

           它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,

           则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;

           如果要捕捉throw抛出的异常,则必须使用try—catch语句。

 

学习来源:https://zhidao.baidu.com/question/95292504.html

posted @ 2020-09-14 17:08  小窝蜗  阅读(1080)  评论(0编辑  收藏  举报