?

Log in

No account? Create an account

(un)checked exceptions (Java) - Узором созвездий по мантии ночи

27.06.2018, Среда

16:55:00 - (un)checked exceptions (Java)

Previous Entry Поделиться Next Entry

Вышла тут бурная дискуссия с коллегой на тему того, вредны (его мнение) или полезны (моё) checked exceptions. Он ссылался на то, что мол большинство уже пришло к тому, что лучше без них, что возлагавшиеся на них надежды на практике не оправдались, а потому пусть всё (ну или почти всё) будет наследоваться от RuntimeError, и уже на уровне договорённостей следить, чтобы всё ловилось и ловилось вовремя. Мне такой вариант не нравится, мбо сам я пока что за свой не очень большой опыт писания на Java имел от checked exceptions больше пользы, чем неудобств.

Знаю, что есть у меня во френдах джависты не просто "опытнае", а даже "матёрые" ;)
Что скажете?

This entry was originally posted at https://arilou.dreamwidth.org/1831905.html. Please comment there using OpenID.

Comments:

[User Picture]
From:aantero
Date:27.06.2018 15:10:57
(Link)
Заранее прошу прощения, если вопрос был _только_ к френдам.

Я работал на нескольких Java проектах пять лет, по большей части чинил, поддерживал и надстраивал проекты, созданные раньше.
По поводу checked exceptions могу сказать следующее: как правило, они либо "проводились" через сигнатуры методов через весь стек вызова наверх, либо на каком-то этаже стека заворачивались в unchecked exceptions и выкидывались дальше.

Дело в том, что в абсолютном большинстве случаев никакой осмысленной обработки для checked exceptions придумать было нельзя, кроме как вернуть пользователю сообщение об ошибке, а сам exception сохранить в логе. Этим обычно занимается специальный обработчик, общий для всего приложения. Фреймворк, на котором приложение построено, словит любое необработанное исключение и отправит обработчику, checked или unchecked, но для checked придется еще немного кода написать для достижения этого результата, а с unchecked это происходит без вмешательства программиста.
(Ответить) (Thread)