Recoverable Errors with Result

Updated

October 31, 2026

Recoverable Errors with Result

Recoverable errors in Rust are modeled through Result<T, E>:

#[derive(Debug)]
enum MathError {
    DivisionByZero,
}

fn safe_divide(numerator: f64, denominator: f64) -> Result<f64, MathError> {
    if denominator == 0.0 {
        Err(MathError::DivisionByZero)
    } else {
        Ok(numerator / denominator)
    }
}

fn main() {
    match safe_divide(10.0, 2.0) {
        Ok(val) => println!("Quotient: {}", val),
        Err(e) => println!("Error: {:?}", e),
    }
}