获取NullPointerException对由JAXB解组的空值调用方法
我有一个包含许多标签的XML文件。 有些人可能会失踪。 所以,当使用JAXB读取这样的非编组文件时,我得到了那些缺少标签的NullPointerException。
我知道我可以检查对象是否为null的一个解决方案。 但检查每个标签的空条件并不方便,因为标签太多。 如果我处理NullPointerException,它只会处理异常,但不会进一步读取xml。
有没有任何有效的方法来处理这种情况(特别是如何摆脱检查每个标签的空值?)
Request rqstr = binfo.getRequest();
System.out.println("Requester Comment : "+rqstr.getComment());
System.out.println("Requester request Date : "+rqstr.getDate());
System.out.println("Requetser Doc Id :"+rqstr.getDocID());
System.out.println("Requetser Response date : "+rqstr.getRespondByDate());
System.out.println("Supplier check box : "+rqstr.isSupplierCheckbox());
Contact rqstrContact = rqstr.getContact();
**System.out.println("Rqstr Contact Name : "+rqstrContact.getName());**
System.out.println("Rqstr Contact title : "+rqstrContact.getTitle());
System.out.println("Rqstr : "+rqstrContact.getEmail().getAddress());
for(Phone rqstrPhone:rqstrContact.getPhone()) {
System.out.println("Requester Contact Phone : "+rqstrPhone.getNumber());
}
Company rqstrComp = rqstr.getRequestCompany();
System.out.println("Requester Company Name : "+rqstrComp.getName());
for(UniqueID rqstrUid : rqstrComp.getCompanyID()) {
System.out.println("Requester Comapny UID : "+rqstrUid.getIdentity());
}
获取NullPointerException
Exception in thread "main" java.lang.NullPointerException
at com.magnisys.eagleye.UnmarshalXml.<init>(UnmarshalXml.java:134)
at com.magnisys.eagleye.MainClass$13.widgetSelected(MainClass.java:3805)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
at com.magnisys.eagleye.MainClass.main(MainClass.java:20226)
获取NullPointerException的行标记为**
链接地址: http://www.djcxy.com/p/76153.html上一篇: Getting NullPointerException calling methods on null values unmarshalled by JAXB
下一篇: Avoid null checks?