Re[11]: Почему в расте отсутствует выброс исключений?
От: vsb Казахстан  
Дата: 06.12.22 16:25
Оценка:
Здравствуйте, DarkEld3r, Вы писали:

vsb>>Во-вторых если функция сейчас не бросает ошибок, а завтра начинает бросать, мне надо менять её тип, потом проходить по всем местам её использования и как минимум добавлять туда этот самый вопросик. Потенциально надо рекурсивно менять тип этой вызывающий функции и так далее.


DE>Это как раз преимущество. Внезапно прилетающее исключение не начнёт ломать код, который к этому не был готов. Мы сразу на этапе компиляции увидим места, которые нужно поправить.


Я не понимаю, что такое "код, который к этому не был готов". У меня есть воспоминания про exception-safety в С++, но там это было обосновано повсеместным ручным управлением памятью, а в современном C++ наверное и это стало не важно. А в Java что такое код, который не готов к исключениям — ну это прям постараться надо, чтобы такой код написать. Если писать в более-менее общепринятом стиле, где нет долгоживущих объектов, а те, которые долгоживущие — те обычно иммутабельные и из мутабельности там максимум — кеши, где с базой работают через транзакции, то исключение может вылетать в любом месте (вообще-то в Java оно и так может вылетать почти в любом месте) и на корректность системы это не повлияет.

Вот сколько пишу на жаве, лет 15 наверное, не припомню ни одного случая, чтобы исключение в одном запросе как-то повлияло на другой запрос.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.