I want to be sure to cover all cases where exceptions can be thrown and deal with each appropriately.
It is not possible to cover all cases where exceptions can be thrown and deal with each accordingly.
If you fully understand the circumstances in which a particular exception can be selected, and you understand the invariants of the program and know that they are either still valid or how to recover them, then you can recover from this exception.
But you may have, for example, an exception caused by a cosmic ray that distorts the state of the machine, which leads to an access violation. How are you going to recover from this? There is always a point where you fall where the program should raise its hands and support it.
source share