![]() |
1
3
您可以在内部try周围有一个循环,以便在不退出循环的情况下多次捕获异常。
|
![]() |
2
3
是的,您碰巧给出的代码片段的行为恰好相同。现在考虑一下
无论C和D的结果如何,都要执行E和F。你打算怎么一试就做到(可能的答案是:在相关的catch块中复制E/F代码块。不太优雅。) 这个 满的 |
![]() |
3
1
不完全是。 如果在同一级别捕获异常,则当代码抛出第一条指令时,将无法执行其他指令。 不是所有的例外都是一样的,你应该以一种特殊的方式对待每一个例外。
其他时候,你不能继续,必须停下来。 存在异常的原因是能够在适当的级别上处理错误。
所以嵌套是有意义的 根据代码实现的逻辑块。 我同意你应该避免写太多嵌套的异常块。
但是,要解决这个问题,应该更好地设计代码,而不是仅仅使用一个大的 试一试 . 这种方法很危险,因为要理解difficolt代码,因为当抛出异常时,您将很难弄清楚到底发生了什么。 相反,您应该将代码分成更合理的单元,设计小方法、小类等等。 |