Здравствуйте, vsb, Вы писали:
vsb>Я не отрицаю некоторого смысла во всей этой идее проверяемых исключений, но конкретно в Java реализация фатально плохая. И я не уверен, что знаю, как сделать лучше.
Основная проблема не в исключениях самих по себе, а в том, что они слишком "другие" и плохо совмещаются с другими фичами ЯП.
Например, был у тебя for-цикл, решил переписать на stream с лямбдами и checked исключения, внезапно, через лямбду уже не передать.
Распараллелить кусок кода, и вот теперь у тебя проблема как пробрасывать исключения между тредами и что с ними делать потом.
В зависимости от контекста одна и та же операция может иметь разную "серьёзность". parseInt в каком-то участке кода — это жуткая проблема и надо сразу падать, а где-то это норма и требуется быстро парсить в цикле. В итоге приходится два варианта функций писать: parseInt throws и tryParseInt с кодом возврата.
С популяризацией подходов функционального программирования с исключениями чаще приходится бороться, чем извлекать пользу.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай