public static String getStrXML(String reqXML,String temp){//处理积分基本信息查询Document objDOM = DocumentHelper.createDocument();try {objDOM=DocumentHelper.parseText(reqXML);} catch (DocumentException e) {// TODO Auto-generated catch blocktemp="erro";e.printStackTrace();return temp;//想在这里捕获异常后,返回temp给调用该方法的函数,然后继续执行这个函数中的其他语句,而不是后台进程终止执行,怎么处理。。急用,谢谢指点!!!}Node node = objDOM.selectSingleNode("//"+temp);String uu=node.getText();return uu;}org.dom4j.DocumentException: Error on line 1 of document : 元素的内容必须由格式正确的字符数据或标记构成。 Nested exception: 元素的内容必须由格式正确的字符数据或标记构成。at org.dom4j.io.SAXReader.read(SAXReader.java:482)
3 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
什么意思,java的异常设计结构是不可恢复的,即出现异常表明程序不能继续进行catch如果捕获了,程序就不会进行了。不但是java,多数语言的异常模型都是不可恢复的。包括C。
楼上说可以,难道还有别的方法?
我想了下,如果要实现,多线程可能可以解决,你可以设置一个全局变量static的变量,这样一个线程死亡之前给把参数保留在这个类里面。
楼上说:捕获的范围进行一下调整,catch (DocumentException e)改成catch(Exception e)试试 .是肯定不行的,因为Exception 比DocumentException 要大是它的父类。
墨色风雨
TA贡献1853条经验 获得超6个赞
你把 temp定义到try之外。然后在遇到异常后,给temp赋值,不要在catch中写什么return就行。
例如:
……………………
Document objDOM = DocumentHelper.createDocument();
String temp ="";
try{
……
}catch (DocumentException e)
{
temp = "error";
}
Node node = objDOM.selectSingleNode("//"+temp);
添加回答
举报
0/150
提交
取消