Сообщение Re[11]: Почему в расте отсутствует выброс исключений? от 06.12.2022 15:07
Изменено 06.12.2022 15:08 vsb
Re[11]: Почему в расте отсутствует выброс исключений?
Здравствуйте, T4r4sB, Вы писали:
TB>С checked exceptions то же самое. А unchecked это зло.
Вот только checked exceptions никто не использует, включая новый код в стандартной библиотеке (см. UncheckedIOException который оборачивает IOException). От исторического багажа, к сожалению, избавляться пока не собираются. Про популярные библиотеки и фреймворки вообще не говорю, не припомню ни одной, где использовались бы checked exceptions, если такие и есть, то их мало.
checked exceptions, как и result могут быть полезны как один из инструментов для написания своего кода. Очень редкий инструмент, я сколько пишу, так и не нашел, где это могло бы быть полезно. Ну теоретически могу представить функцию, вызывая которую ошибку обработать надо вообще абсолютно всегда, без исключений (простите за каламбур). Иначе там реактор взорваться. Там это оправдано — заставлять вызывающего функцию обработать ошибку.
Во всех остальных случаях функция не знает, нужно ли вызывающему коду обрабатывать ошибку, которую она может вернуть вместо результата.
Ещё один артефакт проверяемых исключений в стандартной библиотеке Java это класс URI. У него конструктор кидает исключение, если переданная строка — невалидный URI. Но этот класс часто используется в самой Java. Очевидно, программистам стандартной библиотеки настолько надоело это исключение, что они сделали URI.create(str) — который эту ошибку перекидывает через unchecked exception.
TB>С checked exceptions то же самое. А unchecked это зло.
Вот только checked exceptions никто не использует, включая новый код в стандартной библиотеке (см. UncheckedIOException который оборачивает IOException). От исторического багажа, к сожалению, избавляться пока не собираются. Про популярные библиотеки и фреймворки вообще не говорю, не припомню ни одной, где использовались бы checked exceptions, если такие и есть, то их мало.
checked exceptions, как и result могут быть полезны как один из инструментов для написания своего кода. Очень редкий инструмент, я сколько пишу, так и не нашел, где это могло бы быть полезно. Ну теоретически могу представить функцию, вызывая которую ошибку обработать надо вообще абсолютно всегда, без исключений (простите за каламбур). Иначе там реактор взорваться. Там это оправдано — заставлять вызывающего функцию обработать ошибку.
Во всех остальных случаях функция не знает, нужно ли вызывающему коду обрабатывать ошибку, которую она может вернуть вместо результата.
Ещё один артефакт проверяемых исключений в стандартной библиотеке Java это класс URI. У него конструктор кидает исключение, если переданная строка — невалидный URI. Но этот класс часто используется в самой Java. Очевидно, программистам стандартной библиотеки настолько надоело это исключение, что они сделали URI.create(str) — который эту ошибку перекидывает через unchecked exception.
Re[11]: Почему в расте отсутствует выброс исключений?
Здравствуйте, T4r4sB, Вы писали:
TB>С checked exceptions то же самое. А unchecked это зло.
Вот только checked exceptions никто не использует, включая новый код в стандартной библиотеке (см. UncheckedIOException который оборачивает IOException). От исторического багажа, к сожалению, избавляться пока не собираются. Про популярные библиотеки и фреймворки вообще не говорю, не припомню ни одной, где использовались бы checked exceptions, если такие и есть, то их мало.
checked exceptions, как и result могут быть полезны как один из инструментов для написания своего кода. Очень редкий инструмент, я сколько пишу, так и не нашел, где это могло бы быть полезно. Ну теоретически могу представить функцию, вызывая которую ошибку обработать надо вообще абсолютно всегда, без исключений (простите за каламбур). Иначе там реактор взорваться может. Там это оправдано — заставлять вызывающего функцию обработать ошибку.
Во всех остальных случаях функция не знает, нужно ли вызывающему коду обрабатывать ошибку, которую она может вернуть вместо результата.
Ещё один артефакт проверяемых исключений в стандартной библиотеке Java это класс URI. У него конструктор кидает исключение, если переданная строка — невалидный URI. Но этот класс часто используется в самой Java. Очевидно, программистам стандартной библиотеки настолько надоело это исключение, что они сделали URI.create(str) — который эту ошибку перекидывает через unchecked exception.
TB>С checked exceptions то же самое. А unchecked это зло.
Вот только checked exceptions никто не использует, включая новый код в стандартной библиотеке (см. UncheckedIOException который оборачивает IOException). От исторического багажа, к сожалению, избавляться пока не собираются. Про популярные библиотеки и фреймворки вообще не говорю, не припомню ни одной, где использовались бы checked exceptions, если такие и есть, то их мало.
checked exceptions, как и result могут быть полезны как один из инструментов для написания своего кода. Очень редкий инструмент, я сколько пишу, так и не нашел, где это могло бы быть полезно. Ну теоретически могу представить функцию, вызывая которую ошибку обработать надо вообще абсолютно всегда, без исключений (простите за каламбур). Иначе там реактор взорваться может. Там это оправдано — заставлять вызывающего функцию обработать ошибку.
Во всех остальных случаях функция не знает, нужно ли вызывающему коду обрабатывать ошибку, которую она может вернуть вместо результата.
Ещё один артефакт проверяемых исключений в стандартной библиотеке Java это класс URI. У него конструктор кидает исключение, если переданная строка — невалидный URI. Но этот класс часто используется в самой Java. Очевидно, программистам стандартной библиотеки настолько надоело это исключение, что они сделали URI.create(str) — который эту ошибку перекидывает через unchecked exception.