Strus2学习Exception处理集锦(一)

时间:2023-03-09 20:04:01
Strus2学习Exception处理集锦(一)

2015-01-05

同学用dom4j写的一个更改节点文本的方法爆出这样一个错误:

Strus2学习Exception处理集锦(一)

代码:

for(Iterator itr=root.elementIterator();itr.hasNext();){
Element ele=(Element)itr.next();
System.out.println((Element)ele.element("name")==null);
if(ele.element("name").getText().equals(name)){
ele.element("age").setText(age);
break;
}
}

xml:

<?xml version="1.0" encoding="gb2312"?>

<Student>
<name>张三</name>
<age>20</age>
<name>李四</name>
<age>30</age>
</Student>

分析:

  再回顾他代码时首先exception处理有些问题

  catch (IOException e) {
  e.printStackTrace();
  }
  catch (DocumentException e) {
  e.printStackTrace();
  }

  以至于后面无法看到错误的关键!

  代码片段是他在"student"的子节点循环的下查找“name”元素,这时候就变成"name"下查找"name",所以节点找不到。如果异常处理正常的话,应该提醒元素找不到

将for循环去掉,代码正常运行,得到想要的结果!

相关文章