2 ms·
> Why is computing like this? IMHO because the happy path is easy, but guarding against error conditions, and then either taking action or advising someone of
by mdaniel 4y ago
> Why is computing like this?
IMHO because the happy path is easy, but guarding against error conditions, and then either taking action or advising someone of that outcome is horrifically hard. It's hard not only because it requires the experience to know that not every HTTP request is 200, not every method call is a-ok, not every disk has plenty of space, nor permissions to write to whatever, and even with a huge checklist of the way things go toes up, a disciplined library author can have 250 different illustrative return codes that the caller can then throw in the trash, iterate all the way up the call chain and everything has to align perfectly for the actionable error to reach the end user
That especially plays out, in my experience, in programming languages that place the "please check the return code" upon the programmer, as opposed to ones where errors are more "in your face," but the joy of `try { doSomething(); } catch (ex) { /* lolol */ }` makes it all too easy to ship something because It Works On My Machine
Being on the pointy end of your checklist makes me have a great deal more empathy for users of my software, but I am merely one person who thinks swallowing errors is a crime against humanity