throws 用于抛出方法层次的异常,
并且直接由些方法调用异常处理类来处理该异常,
所以它常用在方法的后面。比如
public static void main(String[] args) throws SQLException
2.throw 用于方法块里面的代码,比throws的层次要低,比如try...catch ....语句块,表示它抛出异常,
但它不会处理它,
而是由方法块的throws Exception来调用异常处理类来处理。
这是区别
throws是用来声明一个方法可能抛出的所有异常信息
throw则是指抛出的一个具体的异常类型。
通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。
throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;
throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出。 |