这个例外示例是不是错了?

时间:2016-06-08 16:47:18

标签: java exception

所以我只是在学习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。

不是吗?我只是在学习,所以我在这里错了,但老师的笔记也错了,这不是真的吗如果} after command6之后是command7?所以command6和command7应该在一个catch块中解释为什么command7永远不会被执行,只有在这种情况下(我猜它也会在command5期间发生MyException时执行,但并不是每个场景都在音符)。

1 个答案:

答案 0 :(得分:2)

除非command7;command2;或可能command3;导致command6;IOException,否则

OwnException应每次都有效。显然,command7;如果程序从任何无法解决的程序崩溃,将无法运行,但除此之外不应该解决它。如果command11;运行且command8;command9;都未运行,那么command7;应该已经运行。如果您按照说明移动了括号,那么command5;也可以触发将运行6和7的MyException