📅  最后修改于: 2023-12-03 15:16:19.297000             🧑  作者: Mango
在 Java 中,我们经常需要处理异常。在处理异常时,可能会用到 throw
和 throws
这两个关键字。虽然它们看起来很相似,但在实际应用中它们有着不同的作用。
throw
在 Java 中,当程序出现异常时,可以通过 throw
关键字抛出一个异常对象。throw
通常出现在方法体中,用于手动抛出异常,使得程序可以在遇到某些问题时自动跳转到异常处理程序。
下面的示例演示了如何使用 throw
抛出一个异常:
public void checkAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("Age should not be negative");
}
}
在上面的代码中,如果方法中传入的 age
参数是负数,程序会手动抛出一个 IllegalArgumentException
异常,该异常包含有关异常原因的信息。
throws
在 Java 中,当一个方法可能会抛出异常时,可以使用 throws
关键字在方法声明中列出可能的异常。在使用该方法时,调用者必须显式处理或者继续抛出这些异常。
下面的示例演示了如何在方法声明中使用 throws
:
public void readFile(String fileName) throws FileNotFoundException, IOException {
BufferedReader br = new BufferedReader(new FileReader(fileName));
// more code here...
}
在上面的代码中,方法 readFile()
可能会抛出 FileNotFoundException
和 IOException
异常。因此,在方法声明中使用 throws
关键字声明这些异常,以便调用方知道可能会发生什么异常。
throw
和 throws
的区别在于它们的作用。throw
用于手动抛出异常对象,而 throws
用于声明一个方法可能引发哪些异常。
总的来说,throw
用于异常处理中,而 throws
用于方法签名中。只有在方法将引发异常时才使用 throw
,而在方法声明中仅使用 throws
来说明可能会出现什么异常。