LINUX.ORG.RU

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

Исправление Legioner, (текущая версия) :

в месте ошибки возвращаем Err(MyError), выше по стеку пишем try!, где надо обработать делаем match.

Это я и называю неудобно. Менять типы всех функций, каждый вызов оборачивать в try!. Не особо отличается от С, разве что деструкторы сами запускаются.э

Единственный юзабельный вариант, который я вижу — если компилятор будет сам всё это делать (менять возвращаемый тип, ставить проверки при каждом вызове). Но этого нет.

Исходная версия Legioner, :

в месте ошибки возвращаем Err(MyError), выше по стеку пишем try!, где надо обработать делаем match.

Это я и называю неудобно. Менять типы всех функций, каждый вызов оборачивать в try!. Не особо отличается от С, разве что деструкторы сами запускаются.