我知道捕捉運行時異常是99%的情況下非常糟糕的設計。控制NullPointerException與XML
但是假設我們有一個映射到Java的XML,並且我們測試了最後一個節點的存在。例如:
XML:<A> <B> <C> <D>someValue</D> </C> </B> </A>
if(myObject.getA() != null && myObject.getA().getB() != null &&
myObject.myObject.getA().getB().getC() &&
myObject.myObject.getA().getB().getC().getD() != null){
doSomeAction(myObject.myObject.getA().getB().getC().getD());
}
它需要許多線只是有效的一個非空......想象一下,如果我們有20個節點...
由於XML干將很輕(簡單返回值),因此沒有任何私人代表,可能是空,是不是真的出於性能原因,我們不能這樣做,而不是:
try{
doSomeAction(myObject.myObject.getA().getB().getC().getD());
}
catch(NullPointerException e){
throw new NullPointerException("D node doesn't exist , please check your XML", e);
}
你有什麼意見是嗎?