Exceptions you can act onbeginner
catch (Exception) { } hides the bug instead of handling it — catching the specific failure you know how to recover from is the difference between a resilient app and one that fails silently.
An empty catch (Exception) and a leaked file handle. Handle the failure you know.
A missing file is handled, everything else keeps its stack trace, and the handle is always released.
Published in full, before you start — every point is one of these and there is nothing else.
catch (Exception) { } hides the bug instead of handling it — catching the specific failure you know how to recover from is the difference between a resilient app and one that fails silently.