Интересно обратываются ошибки I/O в Rust. Там такой синтаксис что ты не можешь получить результат не обработав ошибку. Является ли это монадической схемой? ХЗ.
use std::fs;
fn main() {
let data = fs::read_to_string("/etc/hosts").expect("Unable to read file");
println!("{}", data);
}
В других языках можно как-то проскочить между капелек дождя. Просто не делать секцию catch(exception) а здесь компиллятор просто не соберет код без except().
Есть еще другой более красивый кейс с Rust но я его не найду никак.