作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 XML 文档中解析元素。它适用于大多数人,但有时我可能会遇到 fatal error ,因为我收到了格式错误的 XML 文档。当我通过抛出异常来获取那些 XML 文档时,我想忽略这些情况。控制台给了我一个 SAXParseException
,但是当我在 catch
block 中调用它时,它无法执行。我想在 JSP scriplet 中执行它,但它永远不会被抛出,因为 scriplet 没有主动搜索 SAXException
。
我虽然解决方案是创建一个抛出异常的方法,但同样,它表示 SAXParseException
永远不会在 try
/ 中抛出捕捉
语句。这里发生了什么?
public String parseElementsByTagNameInXML(Document doc, String tagName) throws SAXParseException
{
try{
return doc.getElementsByTagName(tagName).item(0).getTextContent();
}
catch(SAXParseException e){
System.out.println("Failure on Generating MessageID: " + e);
}
catch(NullPointerException e){
//will not spam the console with nullpointexception errors
}
catch(Exception e){
System.out.println("Failure on Generating MessageID: " + e);
}
return "";
}
最佳答案
您的方法定义它会抛出 SAXParseException,但您的 try catch 正在捕获并使用它,而不会将其扔回生产线。相反,我认为它正在打印出来。尝试删除该捕获和异常捕获,然后如果它因 SAXParseException 而失败,它将把它抛给调用该方法的任何人。
关于java - 如何在 Try/Catch 中为错误的 XML 文档抛出 Java SAXParseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35210986/
我是一名优秀的程序员,十分优秀!