Fundamentals41 / 42
Up next

A custom error type

#[derive(Debug)]
enum ValidateError {
    Empty,
    TooLong,
}

fn check(name: &str) -> Result<(), ValidateError> {
    if name.is_empty() {
        return Err(ValidateError::Empty);
    }
    if name.len() > 10 {
        return Err(ValidateError::TooLong);
    }
    Ok(())
}

fn main() {
    println!("{:?}", check(""));
    println!("{:?}", check("ada"));
}
What you're solving

model failures with your own enum