Задачи на обработку ошибок в Rust. Часть 1
Используйте panic! для unrecoverable error.
Дан код:
let v = vec![1, 2, 3];
let x = v[10];
Объясните panic vs Result.
Сделайте fn safe_get(slice: &[i32], i: usize) -> Option<i32>.
Используйте unwrap и когда не стоит.
Используйте expect("msg").
Дан Result:
fn parse_age(s: &str) -> Result<u32, ParseIntError>
Реализуйте parse_age.
Обработайте io::Error (concept).
Сравните exceptions и Result.
Сделайте custom error enum.
Используйте ? в main.