• sugar_in_your_tea@sh.itjust.works
    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.