Сейчас в меня будут кидать камни... Но исключения - это зло!
Жрут кучу времени и ресурсов, часто ничего поправить уже нельзя, рвется контекст выполнения, и т.д.
Так что,
1) Делайте проверки, везде, где это возможно, используйте значения по умолчанию.
2) Если уж возникло исключение, то обрабатывать его тут же, на этом же уровне.
3) Не стоит увлекаться созданием собственных исключений! В 95% случаев ситуацию можно устранить и без них! А в остальных 5% достаточно стандартных системных.
4) Все непрерываемые исключения - обрабатывать на верхних уровнях
Вотч то я хотел сказать -
java-performance.info/throwing-an-exception-in-jav...