首先,
有两种类型的例外.检查&未选中.
未经检查的异常是您的程序无法恢复的异常.就像NullPointers一样,告诉你你的逻辑确实存在问题.
已检查的异常是运行时异常,您可以从这些异常中恢复.
因此,您应该避免使用catch statemens查找“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
无论如何,希望这会有所帮助.