LINUX.ORG.RU

История изменений

Исправление 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 позволяют реже в доку заглядывать.

Туплю. Или ты про пользу явных спецификаций ошибок? Хз… И чообще чёт я устал. :/