gpt4 book ai didi

Java 异常 : exception myException is never thrown in body of corresponding try statement

转载 作者:搜寻专家 更新时间:2023-11-01 03:29:31 24 4
gpt4 key购买 nike

我理解这个错误的想法。但我想我不明白这是如何在调用堆栈中工作的。

文件 Main.java:

public static void main(String[] args) {
try {
Function1();
} catch (myException e) {
System.out.println(e.getMessage());
}
}
public static void Function1() {
Function2();
}

Function2 存在于另一个文件中:

文件2.java

public void Function2() throws myException {
....
}

因此,通过几次调用(沿着调用堆栈向下),我得到了指定要求“throws myException”的 Function2。为什么主函数(错误指向的地方)没有识别出我抛出了 myException?

对于我的“异常知识”中的“漏洞”所在位置的任何指导,我们将不胜感激。

艾特,

最佳答案

漏洞是Function2声明了抛出异常,而Function1没有。 Java 不会深入研究可能的调用层次结构,而是直接根据您在 throws 语句中声明的内容进行。

Function1 没有声明抛出可能是因为 myException 是一个 RuntimeException

关于Java 异常 : exception myException is never thrown in body of corresponding try statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4317643/

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