Ловля исключений нулевого указателя

Я спрашиваю это в основном о Java, но полагаю, что это применимо к целому ряду языков.

Рассмотрим,

if(myVariable==null){
       doSomethingAboutIt();
}
else carryOn(myVariable);

и

try{
     carryOn(MyVariable);
}catch(NullPointerException e ){
      doSOmethingAboutIt();}

Являются ли оба этих блока кода по сути одним и тем же? Есть ли причины выбрать второй подход? Конечно, было бы лучше, если бы myVariable никогда не была нулевой, но кажется, что лучший способ проверить это - сделать простое if-выражение.

14
задан 23 January 2012 в 00:19
поделиться