История изменений
Исправление dimgel, (текущая версия) :
Ну и всё-таки если при написании кода не получится полностью игнорировать обработку ошибок: бывает нужно в конкретном месте решать является ли данная конкретная проблема невосстановимой ошибкой или нет.
В этом случае что я с исключением, что ты с Result – будем действовать совершенно одинаково: преобразовывать один exception/result в другой: я через try {} catch { throw }
, ты по-людски. По-людски в данном случае будет покороче и посимпатичнее, но зато я пердолюсь с try-catch только там где мне надо – в местах преобразований, а ты дополнительно проставляешь ‘?’ в каждом вызове.
Или может быть наоборот: библиотечная функция возвращает bool/код ошибки/опциональное значение, а мы с этим ничего сделать не можем и уже сами кидаем исключение.
Типичный сценарий для плюсовых обёрток сишных либ. Не потому что ничего не можем – можем: и на плюсах в сишном стиле зафигачить. Но когда вокруг один сплошной RAII, то глупо от него отказываться и плодить бардак.
И в этом случае явные Result позволяют реже в доку заглядывать.
Туплю. Или ты про пользу явных спецификаций ошибок? Хз… И вообще чёт я устал. :/
Исправление dimgel, :
Ну и всё-таки если при написании кода не получится полностью игнорировать обработку ошибок: бывает нужно в конкретном месте решать является ли данная конкретная проблема невосстановимой ошибкой или нет.
В этом случае что я с исключением, что ты с Result – будем действовать совершенно одинаково: преобразовывать один exception/result в другой: я через try {} catch { throw }
, ты по-людски. По-людски в данном случае будет покороче и посимпатичнее, но зато я пердолюсь с try-catch только там где мне надо – в местах преобразований, а ты дополнительно проставляешь ‘?’ в каждом вызове.
Или может быть наоборот: библиотечная функция возвращает bool/код ошибки/опциональное значение, а мы
с этим ничего сделать не можем иуже сами кидаем исключение.
Типичный сценарий для плюсовых обёрток сишных либ. Не потому что ничего не можем – можем: и на плюсах в сишном стиле зафигачить. Но когда вокруг один сплошной RAII, то глупо от него отказываться и плодить бардак.
И в этом случае явные Result позволяют реже в доку заглядывать.
Туплю. Или ты про пользу явных спецификаций ошибок? Хз… И вообще чёт я устал. :/
Исходная версия dimgel, :
Ну и всё-таки если при написании кода не получится полностью игнорировать обработку ошибок: бывает нужно в конкретном месте решать является ли данная конкретная проблема невосстановимой ошибкой или нет.
В этом случае что я с исключением, что ты с Result – будем действовать совершенно одинаково: преобразовывать один exception/result в другой: я через try {} catch { throw }
, ты по-людски. По-людски в данном случае будет покороче и посимпатичнее, но зато я пердолюсь с try-catch только там где мне надо – в местах преобразований, а ты дополнительно проставляешь ‘?’ в каждом вызове.
Или может быть наоборот: библиотечная функция возвращает bool/код ошибки/опциональное значение, а мы
с этим ничего сделать не можем иуже сами кидаем исключение.
Типичный сценарий для плюсовых обёрток сишных либ. Не потому что ничего не можем – можем: и на плюсах в сишном стиле зафигачить. Но когда вокруг один сплошной RAII, то глупо от него отказываться и плодить бардак.
И в этом случае явные Result позволяют реже в доку заглядывать.
Туплю. Или ты про пользу явных спецификаций ошибок? Хз… И чообще чёт я устал. :/