• @[email protected]
    link
    fedilink
    32 months ago

    But the entire point of Rust and Result is… to force you to make a choice of what should happen

    Checked exceptions also force you to handle it and take way less boilerplate.

    • @[email protected]
      link
      fedilink
      2
      edit-2
      2 months ago

      But nothing is forcing you to check exeptions in most languages, right?

      While not checking for exceptions and .unwrap() are pretty much the same, the first one is something you get by not doing anything extra while the latter is entirely a choice that has to be made. I think that is what makes the difference, and in similar ways why for example nullable enabled project in C# is desired over one that is not. You HAVE to check for null, or you can CHOOSE to assume it is not by trying to use the value directly. To me it makes a difference that we can accidentally forget about a possible exception or if we can choose to ignore it. Because problems dealt with early at compile time, are generally better than those that happen at runtime.

      • @[email protected]
        link
        fedilink
        12 months ago

        I see your concern, but in practice that’s not what happens in languages like Java and Python with exceptions. Not checking for exceptions is a choice because everyone knows you need to check in your top-level functions. Forgetting to catch is a problem that only hits newbies.