📅  最后修改于: 2023-12-03 15:16:32.572000             🧑  作者: Mango
在Java编程中,异常是一种表示程序运行期间可能出现的错误或异常情况的机制。Java中的异常分为已检查异常(checked exception)和未检查异常(unchecked exception)。本文将介绍这两种异常的特点和使用方法。
已检查异常是指在Java编译器强制要求程序显式处理的异常。这些异常通常是由外部因素引起的,例如文件I/O错误、网络连接异常等。已检查异常的特点包括:
throws
关键字。以下是一个示例代码,演示了如何处理已检查异常:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFile {
public static void main(String[] args) {
try {
File file = new File("input.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
} catch (FileNotFoundException e) {
System.out.println("文件未找到!");
e.printStackTrace();
}
}
}
在上述代码中,我们尝试读取一个文件,并使用Scanner
类逐行打印文件内容。由于文件可能不存在,所以在try
块中的Scanner
初始化可能抛出FileNotFoundException
异常。我们使用catch
块捕获该异常,并打印出错信息。
未检查异常是指在编译时不需要强制处理的异常。这些异常通常是由程序错误导致的,例如数组越界、空指针引用等。未检查异常的特点包括:
RuntimeException
类的任何异常类。以下是一个示例代码,演示了未检查异常的使用:
public class Divide {
public static void main(String[] args) {
int a = 10;
int b = 0;
try {
int result = a / b;
System.out.println("结果:" + result);
} catch (ArithmeticException e) {
System.out.println("除数不能为0!");
e.printStackTrace();
}
}
}
在上述代码中,我们尝试计算一个除法操作,当除数为0时会抛出ArithmeticException
异常。我们使用catch
块捕获该异常,并打印出错信息。
已检查异常和未检查异常是Java中异常处理的两种类型。已检查异常要求在编译时进行处理,而未检查异常在编译时不需要强制处理。合理地处理异常可以增加程序的健壮性,避免潜在的错误。