• sugar_in_your_tea
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      I disagree, I hate that keyword. Exceptions should be… exceptional, and regular errors should be data. I only want to see exception blocks at top levels for logging and whatnot, everything else should be destructured monads in a match block or similar.

      Forgetting a function can throw exceptions is an honest mistake, ignoring errors when you’ve destructured a return value to get the data is a choice. The former is hard to catch, the latter is plainly obvious in a code review.