我有一个域名列表。当我遍历此列表时,我得到域mx记录。如果域无效,请尝试catch块抛出NamingException并迭代列表停止。如何在抛出名称异常后继续执行程序?
try {
logger(clazz, "job started");
List<Domain> domains = new ArrayList<>();
domains.addAll(domManager.getActiveDoms());
for (Domain d : domains) {
Attributes attributes = iDirC.getAttributes("dns:/" + d.getName(), new String[] { "MX" });
Attribute attributeMX = attributes.get("MX");
System.out.println(attributes);
}
} catch (NamingException e) {
e.printStackTrace();
}
答案 0 :(得分:2)
你的代码有一个try-catch块,里面有一个循环,这样,如果出现故障,程序将中止(因为git checkout master
git cherry-pick H1
git cherry-pick H2
git checkout devbranch
git rebase master
)。
请注意,您说“(...)在抛出名称异常后”并且这不是正在发生的事情!要抛出异常,您必须使用e.printStackTrace()
并在方法声明中使用throw new NamingException("cause");
。
现在,回答你的问题:
如果你在循环中处理错误,你可以继续(请注意,如果你有throws NamingException
,程序仍然会在那里结束)。
我会做类似的事情:
e.printStackTrace()
希望这能帮到你!