Конец Checked Exceptions

Feb 14, 2012 12:10

Java сыграла огромную роль в обучении миллионов программистов обработке ошибок, надо отдать ей должное. И идея была красивая, что каждый метод будет честно признаваться, какой подлянки от него ждать. Многие сразу говорили, что будет catch (Exception e) {}, но это явная патология, которая автоматически обнаруживается любым анализатором кода.

Однако, если в интерфейсе метод бросает исключение, то убрать это исключение можно только одновременно во всех реализациях данного метода. Меня больше всего раздражает UnsupportedEncodingException, при том что я всегда использую UTF-8.

При этом NPE случаются постоянно и ничто их не останавливает. Были придуманы аннотации @NotNull и @Nullable, но в стандарт Java они так и не вошли.

В результате современные популярные библиотеки (например, Spring) checked exceptions просто не используют. В Kotlin их уже нет в принципе.

java, kotlin

Previous post Next post
Up