История изменений
Исправление
Legioner,
(текущая версия)
:
в месте ошибки возвращаем Err(MyError), выше по стеку пишем try!, где надо обработать делаем match.
Это я и называю неудобно. Менять типы всех функций, каждый вызов оборачивать в try!. Не особо отличается от С, разве что деструкторы сами запускаются.э
Единственный юзабельный вариант, который я вижу — если компилятор будет сам всё это делать (менять возвращаемый тип, ставить проверки при каждом вызове). Но этого нет.
Исходная версия
Legioner,
:
в месте ошибки возвращаем Err(MyError), выше по стеку пишем try!, где надо обработать делаем match.
Это я и называю неудобно. Менять типы всех функций, каждый вызов оборачивать в try!. Не особо отличается от С, разве что деструкторы сами запускаются.