Unfortunately, C# does not have user exception filters like VB.NET, so you're limited to:
- Catching a common ancestor to all exceptions. This may or may not be what you want, because there may be other descendant exception types that you do not want to catch.
- Moving the exception handling logic into another method and calling that from each handler.
- Repeating the exception logic for each handler.
- Moving the exception handling logic into a language that supports filters, such as VB.NET.