fn parse_add(a: &str, b: &str) -> Result<i32, std::num::ParseIntError> {
// on Err, return it now
let x: i32 = a.parse()?;
let y: i32 = b.parse()?;
Ok(x + y)
}
fn main() {
println!("{:?}", parse_add("2", "3"));
println!("{:?}", parse_add("2", "oops"));
}return the error early, keep the happy path clean