itsrumblintime

Exceptions are hidden control flow

Exceptions are hidden control flow

Exceptions bypass both the happy paths and the error paths that you painstakingly laid out.

Exceptions are goto of the olden days — except goto has the common courtesy to tell you the destination before taking you on Mr Bones' Wild Ride. Exceptions are the white van, and where we're going they won't give you a condom.

Exceptions will leave your application state in such a mess that you will fondly remember your college frat parties as tea and biscuits with grandma. Exceptions will not cleanup after themselves. Exceptions will make you wonder why there are empty bottles and a sleeping hooker in your log files. Exceptions are hyenas on a veggie diet, and your resources are the smiling toddler in the corner.

Exceptions lead to complacency. Complency leads to unpredictability. Unpredictability leads to a 3am early breakfast made of a screaming phone call, a stress migraine, and a stacktrace sandwich à-la-shit.

Exceptions will swarm and dance around you until you let your guard down. Exceptions, like vampires, only have power if you let them come inside, and then they'll kick your teeth in and steal your organs.

I will not bow before exceptions more than one level deep. I refuse to grovel before lazy libraries that throw exceptions at me. I'll let my server crash and burn, breath in the magic smoke, and whisper "Who won now you slimy bastard."

I follow the way of countless before me. I am the templar programmer, these are my tenets: I will not catch; I will not yield; exceptions will be my Golgotha.