• KillTheMule@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    While funny, this also highlights part of why I like rust’s error handling story so much: You can really just read the happy path and understand what’s going on. The error handling takes up minimal space, yet with one glance you can see that errors are all handled (bubbled up in this case). The usual caveats still apply, of course ;)

    • 1984@lemmy.today
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      I’m writing my Rust wrong… I have match statements everywhere to the degree that it’s cluttering up everything.

      • Aloso@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 year ago

        If all you do in the Err(e) => ... match arm is returning the error, then you absolutely should use the ? operator instead.

        If the match arm also converts the error type into another error type, implement the From trait for the conversion, then you can use ? as well.

        If you want to add more information to the error, you can use .map_err(...)?. Or, if you’re using the anyhow crate, .with_context(...)?.