Java异常处理是通过五个关键字来完成的:try
、catch
、finally
、throw
和throws
。
try
: 这个块用来包裹可能会引发异常的代码。catch
: 这个块用来捕获异常。可以有多个catch块来捕获不同类型的异常。finally
: 这个块无论是否捕获到异常都会执行。通常用于关闭资源等。throw
: 用于手动抛出异常。throws
: 用在方法签名中,表明这个方法可能会抛出的异常类型。
下面是一些简单的示例代码,展示了异常处理的基本用法:
1. 使用 try-catch-finally
处理异常
public class ExceptionExample {
public static void main(String[] args) {
try {
int result = 10 / 0; // 这将会引发一个 ArithmeticException
} catch (ArithmeticException e) {
System.out.println("捕获到异常: " + e.getMessage());
} finally {
System.out.println("无论是否捕获到异常,这里的代码都会执行。");
}
}
}
2. 抛出异常
你可以使用throw
关键字手动抛出异常:
public void checkAge(int age) throws Exception {
if (age < 18) {
throw new Exception("年龄小于18岁");
}
System.out.println("年龄合法");
}
以上代码定义了一个方法,当年龄小于18岁时,它将抛出一个异常。
3. 方法签名中的 throws
当你的方法可能会抛出某种异常,但不想在该方法内部处理它时,你可以在方法签名中使用throws
关键字:
public void readFile(String fileName) throws FileNotFoundException {
File file = new File(fileName);
FileReader reader = new FileReader(file);
// ...
}
在这个示例中,readFile
方法可能会抛出FileNotFoundException
,所以在调用该方法的地方必须处理这个异常。