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