result handling
// Idiomatic Rust error handling with Result and the ? operator use std::fs::File; use std::io::{self, Read}; fn read_file_contents(path: &str) -> Result<String, io::Error> { let mut file = File::open(path)?; let mut contents = String::new(); file.read_to_string(&mut contents)?; Ok(contents) } fn main() { match read_file_contents("example.txt") { Ok(contents) => println!("File contents:\n{}", contents), Err(e) => eprintln!("Error reading file: {}", e), } }