📅  最后修改于: 2023-12-03 15:39:26.751000             🧑  作者: Mango
在Java中,Scanner类提供了一种方便的方法来读取输入。Scanner中的ioException()方法可以用来捕获读取输入时可能出现的异常,如输入流被关闭,文件无法打开等情况。
public IOException ioException()
ioException()方法返回IOException对象,该对象包含有关发生错误的更多信息。
以下是使用ioException()方法捕获异常的示例:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("input.txt")); // 文件不存在,会抛出FileNotFoundException异常
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
} catch (FileNotFoundException e) {
System.out.println("文件不存在!");
System.out.println(e.getMessage());
System.out.println(e.getCause());
System.out.println(e.getClass());
System.out.println(e.ioException());
}
}
}
在上面的示例中,我们尝试使用Scanner读取一个不存在的文件。由于文件不存在,scanner的构造函数会抛出FileNotFoundException异常。我们使用try-catch块捕获此异常,并使用ioException()方法获取更多信息。
输出:
文件不存在!
input.txt (系统找不到指定的文件。)
null
class java.io.FileNotFoundException
java.io.FileNotFoundException: input.txt (系统找不到指定的文件。)
我们可以看到,ioException()方法返回的IOException对象包含了更多异常相关的信息,例如文件名和错误原因等。使用这些信息,我们可以更好地理解并解决异常。