In general it is the actual throwing of an exception that is a slow operation. That's one of the reasons why exceptions should not be used for control flow and why we have int.TryParse & co.
Overall I don't expact a simple try/catch/finally block to have a big impact on performance but:
- functions that contain try blocks are not inlined
- every line of code you add to a program will probably end up having some sort overhead. Bigger IL code, bigger metadata tables or some other executable data structures
Anyways, putting everything in a try/catch is likely bad practice. Sure, you can have some top level try/catch that catches and logs exceptions, but you don't go and put try/catch everywhere in the code.