Comments by "Silver Blade" (@SilverBlade001) on "Как правильно делать Error handling по "Clean Code" Роберта Мартина?" video.

  1. Куча срача в комментариях: 🙃 >Не освещены время и место отлавливания и обработки checked исключений. Фактически checked это проверяемые, предсказуемые и обрабатываемые компилятором исключения, а unchecked это, соответственно, непроверяемые, непредсказуемые и необрабатываемые во время компиляции исключения, т.е. то, что внезапно вылезет в уже запущенной программе. Ну ладно если это какой-то калькулятор количества оставшихся в шкафу конфеток. А если это какая-то система с высокой ценой за ошибку, типа банковской системы, или системы управления космическим кораблём (на орбиту-то запустить запустили, а потом внезапно оказалось, что где-то чего-то не хватает для полного счастья)? Зачем больно ловить лицом то, что можно было спокойно поймать ещё до запуска? Да, перестраховка, да много текста. Но иногда и перестраховка бывает полезной. >JVM тоже хочет, чтобы checked исключения были пойманы и обработаны заранее, наверно ей так спокойнее жить. >Checked исключения возникают в основном там, где шансы на сбой очень высокие, предсказуемо высокие. Ну т.е. если, например, внезапно нужно прочитать конкретный файл, и где-то дальше использовать его содержимое, а файла тупо нет, то сбой будет в 100% случаев. Т.е. да, это лишняя затычка в днище корабля, но это та лишняя затычка, отсутствие которой будет заметно ещё до того, как корабль отплывёт от причала и благополучно потонет. >При необходимости можно получить новые checked исключения, расширив класс java.lang.Exception, если они вдруг где-то нужны. >В Oracle Java Documentation написано дословно следующее: "If a client can reasonably be expected to recover from an exception, make it a checked exception. If a client cannot do anything to recover from the exception, make it an unchecked exception." >Да, в других языках такой фигни может и не быть, но вопрос о том, так ли ужасны checked исключения сами по себе, или без них просто спокойнее тем, кто ранее привык к другим языкам, где их нет, это глубоко философский вопрос, в котором без поллитры не разобраться. 😁
    1