Практика на свои ошибки в Rust
Дан следующий код:
struct FileError {
name: String,
}
Оформите печать "file" с именем, трейт
ошибки и выведите значение из Err в
main.
Дан следующий код:
struct AgeError {
detail: String,
}
Сделайте перевод из ParseIntError с
detail "age" и разберите строку
"18y". Покажите текст сбоя.
Дан следующий код:
struct SumError {
tag: String,
}
Напишите функцию, которая принимает две
строки, читает из каждой i32 с короткой
записью сбоя и возвращает сумму или
SumError с tag "sum" при
неудачном разборе.
Дан следующий код:
struct UnitError {
unit: String,
}
После успешного разбора i32 верните
UnitError с unit "zero",
если число равно нулю. Для разбора подключите
перевод из ParseIntError с unit
"parse".
Дан следующий код:
struct KeyError {
key: String,
}
Соберите тип с Debug, печатью "key"
и полем, пустым трейтом ошибки и переводом
из сбора разбора целого. Выведите сбой для
строки "key:".
Дан следующий код:
struct BenchError {
mark: String,
}
Напишите две функции: одна читает число из
строки, вторая удваивает его, обе возвращают
исход с BenchError. Свяжите их в
main через короткую запись и покажите
удачный и неудачный прогон.