throw和throws 关键字之间的区别

  1. throw 关键字:
  • 使用在方法的内部
  • 抛出的是一个异常对象(必须是Exception/RuntimeException的子类),throw一次性只能抛出一个异常对象。
  • 当抛出的是运行时异常(RuntimeException),则不需要处理,直接交给JVM处理
  • 当抛出的是编译时异常(Exception),则需要处理异常,有两种办法,分别是 throw 和try..catch()
  1. throws 关键字:
  • 使用在方法后,一个方法一次性可以抛出多个异常对象
  • 抛出的异常由该方法的调用者处理