Tour of Rust Inhoudsopgave

Ruwe Afhandeling Van Option En Result

Voor snel en informeel schrijven van code kan werken met Option/Result vervelend worden. Beide types hebben een functie genaamd unwrap die nuttig is om zonder veel omhaal een waarde te krijgen. Deze functie:

  1. Haalt de waarde op die zich in Option/Result bevindt
  2. Als er geen dergelijke waarde wordt gevonden, stopt het het hele programma met behulp van de macro panic!.

Deze twee stukken code zijn equivalent:

my_option.unwrap()
match my_option {
    Some(v) => v,
    None => panic!("some error message generated by Rust!"),
}

Op vergelijkbare wijze:

my_result.unwrap()
match my_result {
    Ok(v) => v,
    Err(e) => panic!("some error message generated by Rust!"),
}

Het is altijd veel beter om mogelijkheden te gebruiken die het programma laten doorgaan, zelfs als er een fout is opgetreden, zoals match en ?. Er zijn ook handigere opties, zoals unwrap_or of map en and_then. Zorg er dus voor dat u unwrap zo weinig mogelijk gebruikt!