Cathal is correct to a degree in that Try/Catch in itself is not slow.
However, processing an exception is slower than having no exception. So in summary. from slowest to fastest we have:
- Do not handle exception
- Handle the exception with Try/Catch
- Rewrite your code to avoid exceptions
If you find that you are getting an exception raised consistently then your code should be rewritten to avoid the exception.
For instance, if you are getting a null reference exception from trying to access a property or method of a null object, then rather than use try/catch you should use -- if (object != null). This would be much faster.
I realise that this is not always possible.