如果某个方法可能会发生异常,但不想在当前方法中处理这个异常,则可以使用throws、throw关键字在方法中抛出。

使用throws关键字抛出异常

throws关键字通常被应用在声明方法时,用来指定方法可能抛出的异常,多个异常可使用逗号隔开。
image.png
image.png
调用了throws声明的方法之后,那么不管操作是否出现异常,都必须使用try…catch语句进行异常处理。 主方法使用throws后,那么这个异常就将交给JVM进行处理,而后结束程序用。

使用throw关键字抛出异常

throw关键字通常用于方法体中,并且抛出一个异常对象。程序执行到throw语句时立刻终止,它后面的语句都不执行,如果要捕获throw抛出的异常,则必须使用try-catch语句块。
image.png

throw 和 throws的区别

throw:指的是在方法体中人为抛出一个异常类对象,这个对象可以是自己实例化,或者是已经存在的。
throws: 指的是在方法的声明上使用,表示此方法在调用时必须处理异常。

throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常。两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。