gpt4 book ai didi

java - 这个异常例子是不是错了?

转载 作者:行者123 更新时间:2023-12-02 03:33:46 25 4
gpt4 key购买 nike

所以我只是在学习Java中的异常,我正在看一个例子,但它要么是错误的,要么我仍然不理解它。

代码如下:

command1;
try {
command2;
command3;
try {
command4;
command5;
} catch (MyException e) { command6; }
command7;
} catch (IOException e) {
command8;
} catch (OwnException e) {
command9;
} finally {
command10;
}
command11;

然后它会写下哪些命令将在不同的场景中运行,但是 command7 几乎永远不会运行,只有在一种场景中,如果在 command4 期间发生 MyException 的话。

这不是错的吗?我只是在学习,所以有可能我在这里错了,但也有可能老师的笔记是错误的,这不是只有在command6之后的}在command7之后才成立吗?所以command6和command7应该在一个catch block 中,以解释为什么command7永远不会被执行,只有在这种情况下(我猜如果在command5期间发生MyException,它也会执行,但并不是每个场景都在注释中出现) .

<小时/>

最佳答案

command7; 应每次运行,除非 command2;command3; 或可能 command6; 导致 IOExceptionOwnException。显然,如果程序因任何非手动操作而崩溃,则 command7; 将不会运行,但除此之外,不应该有任何解决办法。如果 command11; 运行,而 command8;command9; 均未运行,则 command7; 应该已运行。如果您按照您的说明移动了括号,则 command5; 也可能触发运行 6 和 7 的 MyException

关于java - 这个异常例子是不是错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37708400/

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