Введение в свои ошибки в Rust
Своя ошибка - это отдельный тип, который описывает сбой в терминах вашей задачи. Внутри можно держать путь, код, фрагмент ввода или другие поля, а для человека собирать короткое сообщение. Так проще читать лог и не смешивать чужие типы сбоя с вашей моделью данных.
В основном учебнике мы уже видели исход с двумя ветками и один общий тип сбоя у цепочки вызовов. Здесь тип сбоя становится своим: вы сами решаете, какие данные сохранить и какой текст показать при неудаче. Это не замена проверке на этапе сборки, а способ аккуратно вернуть сбой из функции без остановки всей программы.
Сначала оформляют текст через трейт печати, затем подключают стандартный трейт ошибки, чтобы тип подходил для исхода сбоя. Если внутри встречается чужой сбой, пишут перевод в свой тип - тогда короткая запись в теле функции сможет сменить вид сбоя на ваш. В конце разберем, как это связано с функцией, которая возвращает исход с вашим типом сбоя.
Дальше разберем сбор текста, пустое выполнение трейта ошибки, перевод из чужого сбоя, работу короткой записи в функции и задачи на закрепление.