Catching NullPointerException
- плохая практика - вы можете поймать не то исключение, которое хотите поймать У вас есть два варианта:
1) Бросьте свое собственное исключение и поймайте его позже:
public void method1(Case caze) throws MyException {
if (case.getType() == CaseType.CaseOne) {
// processing
} else {
throw new MyException("Wrong case type");
}
}
И код клиента:
try {
method1(caze);
} catch (MyException e) {
// log the excpetion
method2(caze);
}
2) Возвращает логический флаг, указывающий, что обработка успешно завершена.
Помните, что всегда лучше анализировать значения, чем использовать механизм try-catch в ваших ситуациях. Я бы предложил вариант №2 для вас.