gpt4 book ai didi

java - 如何在抛出异常后继续执行程序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:32:46 25 4
gpt4 key购买 nike

我有一个要求,即使在抛出异常后,程序执行流程也应该继续。

for(DataSource source : dataSources) {
try {
//do something with 'source'
} catch (Exception e) {
}
}

如果在第一次迭代中抛出异常,则流程执行停止。我的要求是即使在第一次迭代抛出异常之后,其他迭代也应该继续。我可以在 catch block 中编写逻辑吗?

最佳答案

首先,

异常有两种类型。选中和未选中。

未经检查的异常是您的程序无法从中恢复的异常。就像 NullPointers,告诉你你的逻辑确实有问题。

已检查的异常是运行时异常,您可以从这些异常中恢复。

因此,您应该避免使用 catch 语句来查找“Exception”基类。这两个时间都代表。您可能应该考虑寻找特定的异常(通常是运行时异常的子类)。

简而言之,还有更多内容。

您还应该记住,您不应该将异常处理用作工作流。通常表明您的体系结构存在某种缺陷。顾名思义,它们应该被视为正常执行的“异常(exception)”。

现在,考虑你的代码:

for(DataSource source : dataSources) {
try {
//do something with 'source'
} catch (Exception e) { // catch any exception
continue; // will just skip this iteration and jump to the next
}
//other stuff ?
}

事实上,它应该捕获异常并继续。也许你有什么事没有告诉我们? :P

无论如何,希望这对您有所帮助。

关于java - 如何在抛出异常后继续执行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10412995/

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