gpt4 book ai didi

java - 检查的异常不会在链中传播

转载 作者:行者123 更新时间:2023-11-30 08:05:09 24 4
gpt4 key购买 nike

为什么检查异常不在链中传播?

public static void m() {
FileReader file = new FileReader("C:\\test\\a.txt");
BufferedReader fileInput = new BufferedReader(file);

}
public static void n() {
m();
}
public static void o() {
n();
}

public static void main(String[] args) {
try {
o();
}
catch(Exception e) {
System.out.println("caught exception");
}

}

为什么应该处理所有已检查的异常?

最佳答案

因为你还没有在方法声明中声明它们。检查的异常必须在可能发生的方法中进行处理,或者必须声明它们由该方法“抛出”。

将代码更改为:

public static void m() throws IOException { // <-- Exception declared to be "thrown"
FileReader file = new FileReader("C:\\test\\a.txt");
BufferedReader fileInput = new BufferedReader(file);

}
public static void n() throws IOException {
m();
}
public static void o() throws IOException {
n();
}

public static void main(String[] args) {
try {
o();
}
catch(Exception e) {
System.out.println("caught exception");
}

}

关于java - 检查的异常不会在链中传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31227721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com