Let It Propagate
Most catch blocks shouldn’t exist.
Not “most catch blocks are wrong” (though many are). Most of them have no reason to be there. Someone felt nervous about an exception propagating and stuck a try/catch around it like a security blanket.
The principle is simple:
Exceptions move up the stack until they reach a layer with enough context to do something meaningful with them.
Every catch block should exist because of a deliberate decision, not because letting an exception fly felt irresponsible.