在Java中,声明看抛出异常有两种方式:
-
throw:运用于方法内部,用于给调用者返回一个异常对象,和return一样会结束当前方法。
-
-
throws:运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常。
throw语句:适用于方法内部,抛出一个具体的异常对象,语法如下:
throw new 异常类(“异常信息”); \\终止方法
一般的,当一个方法出现不正常的情况的时候,我们不知道该方法应该返回什么,此时就返回一个错误,在catch语句块中继续向上抛出异常。
在图例中,return是返回一个值,而throw是返回一个错误,返回给该方法的调用者。
throws语句:它的语法如下:
public FileInputStream(String name) throws FileNotFoundException;
如果每一个方法都放弃处理异常都直接通过throws声明抛出,最后异常会抛到main方法,如果此时main方法不处理,继续抛出给JVM,底层的处理机制就是打印异常的跟踪栈信息。