Задачи на обработку ошибок в Rust. Часть 2
Сделайте иерархию ошибок с thiserror (concept).
Дан код:
enum AppError { Io(io::Error), Parse(ParseIntError) }
Implement From conversions.
Map error types with map_err.
anyhow for applications (concept).
Error trait (concept).
Дан Result chain:
read → parse → validate
Propagate with ?.
Recover from errors gracefully.
Log errors without panic.
Test error paths.
Сделайте функцию чтения числа из строки с Result, затем цепочку из двух таких вызовов с оператором ?.