try {
live(today);
} catch (UnexpectedLoss e) {
grieve(e);
resume();
} catch (Disappointment e) {
observe(e);
release();
} finally {
breathe();
}
Most humans don't have exception handling. They have exception throwing.
Something happens. A deadline moves. A person says the wrong thing. A plan collapses quietly over three weeks and then catastrophically in one morning. The exception is raised. Instead of being caught, it propagates. Up through the call stack. Through the meeting, through dinner, through sleep. Until it crashes the process entirely and you reboot at 4 a.m. What happened to the version of you that had everything under control?
Seems like character flaw, but it's an architectural one.
The Stoics understood this. They didn't call it exception handling, because Epictetus didn't know Python. But the logic is identical: between stimulus and response, there is a handler. Did you write one?
The finally block runs regardless. That is not optional. You breathe no matter what. What you can design is everything else. The catch blocks. The logging. The decision not to rethrow. The discipline of handling rather than propagating. Handling means: I received this. I sat with it. I did not pretend it wasn't there. I did not let it cascade into production.
Burnout happens when you run without a try block for too long. Every exception hits the main thread. Every stimulus reaches the core process unfiltered. Eventually the system runs out of memory and stops responding.
You are allowed to catch things. You are allowed to handle them quietly, in a separate context, and return something useful to the rest of the program.
The machine that crashes loudly is just less designed. Allowo yourself to stop and catch the errors.