throw和throws有什么区别

来源:互联网 发布:13年总决赛韦德数据 编辑:程序博客网 时间:2024/06/07 19:55

在Java中,声明看抛出异常有两种方式:

  1. throw:运用于方法内部,用于给调用者返回一个异常对象,和return一样会结束当前方法。

  2. throws:运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常。



throw语句:适用于方法内部,抛出一个具体的异常对象,语法如下:

throw new 异常类(“异常信息”); \\终止方法

Java语言核心,声明抛出异常

throw图例


一般的,当一个方法出现不正常的情况的时候,我们不知道该方法应该返回什么,此时就返回一个错误,在catch语句块中继续向上抛出异常。

在图例中,return是返回一个值,而throw是返回一个错误,返回给该方法的调用者。



throws语句:它的语法如下:

public FileInputStream(String name) throws FileNotFoundException;

Java语言核心,声明抛出异常

throws图例



如果每一个方法都放弃处理异常都直接通过throws声明抛出,最后异常会抛到main方法,如果此时main方法不处理,继续抛出给JVM,底层的处理机制就是打印异常的跟踪栈信息。