作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我使用的是 HtmlUnit,方法的签名如下所示:
public HtmlAnchor getAnchorByText(String text)
throws ElementNotFoundException
所以这意味着,对该方法的调用不仅会返回 null,还会抛出异常。
(我觉得这很痛苦!!,在 C# 方法中,如果找不到,通常只返回 null,除非我遗漏了什么,否则会更容易??)
所以如果我不希望我的应用程序崩溃,我必须将此调用包装在异常中吗?
我如何在 Java 中执行此操作?
最佳答案
请记住 ElementNotFoundException
不是检查异常,因此您可以忽略它。但是,如果元素不存在是一个有效的情况,您不希望抛出异常,那么是的,您将不得不将代码包装在 try-catch block 中并进行处理。
我也发现这种由异常控制的流量很痛苦。您想要的基本构造是:
HtmlAnchor anchor = null;
try {
htmlAnchor = getAnchorByText(text);
} catch (ElementNotFoundException) {
// do nothing
}
如果您发现自己经常编写此序列,则将其包装在辅助方法中:
public static HtmlAnchor myFindAnchor(String text) {
try {
return getAnchorByText(text);
} catch (ElementNotFoundException) {
return null;
}
}
并调用它,而不是用虚假的 try-catch block 乱扔代码。
关于java - 如何在java中处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2010780/
我是一名优秀的程序员,十分优秀!