Software Design/Catch the most specific type of exception

Examples
Rather than  or.

Why
Code robustness: less likely that bugs in the code wrapped with exception handling would be processed as if they were expected exceptional conditions (such as a network I/O error).

Why not
Duplication of logic between handlers of different specific types of exceptions which leads to change amplification, higher probability of inserting bugs in the exception handling logic itself (rather than the logic being wrapped with exception handling), etc. Eliminating this duplication (e. g. via extracting a function) has its own drawbacks.