Sto chiedendo questo a proposito di Java, ma suppongo che si adatti a un'intera schiera di lingue.Catch delle eccezioni del puntatore nullo
Si consideri,
if(myVariable==null){
doSomethingAboutIt();
}
else carryOn(myVariable);
e
try{
carryOn(MyVariable);
}catch(NullPointerException e){
doSOmethingAboutIt();}
Sono entrambi questi blocchi di codice essenzialmente la stessa? C'è qualche ragione per scegliere il secondo approccio? Chiaramente sarebbe bette rif myVariable non è mai stato nullo, ma sembra che il modo migliore per controllarlo sia di fare una semplice istruzione if.
'NullPointerException's dovrebbe considerare gli errori del programmatore. Non prenderli. Assicurati che non vengano mai lanciati. –