LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Согласен. Если бы проверяемые исключения были только в коде бизнес-логики, то от них было бы больше пользы, чем вреда.

Проблема в том, что только конечный разработчик знает, какие исключения на самом деле возможны и их надо проверить, а какие нет. Например, при парсинге url из константы на самом деле проверка исключения нафиг не нужна. А при валидации какой-нибудь структуры тот же NPE можно тоже считать проверяемым. Или в функции аллоцирующей массив на гигабайт OOM надо проверять.

Я думаю, они могли бы лучше оставить конструкцию throws, но не привязывать проверяемость исключения к его типу. Просто если исключение есть в throws, то вызывающий должен либо проверить, либо добавить в свою смгнатуру throws. А класс исключения не важен.

Исходная версия KivApple, :

Согласен. Если бы проверяемые исключения были только в коде бизнес-логики, то от них было бы больше пользы, чем вреда.

Проблема в том, что только конечный разработчик знает, какие исключения на самом деле возможны и их надо проверить, а какие нет. Например, при парсинге url из константы на самом деле проверка исключения нафиг не нужна. А при валидации какой-нибудь структуры тот же NPE можно тоже считать проверяемым.

Я думаю, они могли бы лучше оставить конструкцию throws, но не привязывать проверяемость исключения к его типу. Просто если исключение есть в throws, то вызывающий должен либо проверить, либо добавить в свою смгнатуру throws. А класс исключения не важен.