Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
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.
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.