gpt4 book ai didi

Java 捕获异常和子类

转载 作者:行者123 更新时间:2023-12-02 06:41:38 25 4
gpt4 key购买 nike

你好,

在 Java 中,如果像 BufferedReader.read() 这样的方法说它可以抛出一个 IOException,我会 try catch 一个 FileNotFoundException 和一个IOException在两个catch block 中,如果文件不存在会进入哪个catch block ?

它只输入最具体的还是两者都输入?

最佳答案

将输入与异常匹配的第一个编码捕获。
编辑以纳入 Azodius 的评论

例如:

try {
bufferedReader.read();
} catch (FileNotFoundException e) {
// FileNotFoundException handled here
} catch (IOException e) {
// Other IOExceptions handled here
}

以下代码无法编译:

try {
bufferedReader.read();
} catch (IOException e) {
// All IOExceptions (and of course subclasses of IOException) handled here
} catch (FileNotFoundException e) {
// Would never enter this block, because FileNotFoundException is a IOException
}

编译器消息说:

Unreachable catch block for FileNotFoundException. It is already handled by the catch block for IOException

关于Java 捕获异常和子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6707320/

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