I keep hearing that
catch (Exception ex)
Is bad practise, however, I often use it in event handlers where an operation may for example go
It makes complete sense to catch the exception at the highest level in your code. Catching the base Exception type is fine as long as you don't need to do any different logic based on the exception's type.
Also, make sure you're displaying a friendly, general error message and not showing the actual exception's message. That may lead to security vulnerabilities.