LINUX.ORG.RU

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

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

Проблема не в том чтобы завести по ошибке на каждый чих, а в том чтобы понять кто чихнул.

Ничего не поделаешь, бектрейсы еще не стабилизировали. Ну и в расте не принято бектрейсы для обычных ошибок, так же как и в Go. Если потрудишься и заведешь по разной ошибке на каждый чих то проблема откуда конкретная вылетела решится автоматическию.

Для того чтобы меньше бойлерплейта в коде было посмотри на #[from]. Идея в том что когда ты делаешь оператор ? то тип ошибки не обязательно должен быть такой же как и выпал, оно вызовет метод .into() само для конверсии. Просто в твоем примере все через один метод parse было поэтому не продемонстрируешь эту фичу.

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

Проблема не в том чтобы завести по ошибке на каждый чих, а в том чтобы понять кто чихнул.

Ничего не поделаешь, бектрейсы еще не стабилизировали. Ну и в расте не принято бектрейсы для обычных ошибок, так же как и в Go. Если потрудишься и заведешь по разной ошибке на каждый чих то проблема откуда конкретная вылетела решится автоматическию.

Для того чтобы меньше бойлерплейта в коде было посмотри на #from. Идея в том что когда ты делаешь оператор ? то тип ошибки не обязательно должен быть такой же как и выпал, оно вызовет метод .into() само для конверсии. Просто в твоем примере все через один метод parse было поэтому не продемонстрируешь эту фичу.