In general, I tend to use try/catch for code which has multiple failure points for which the failures have a common handler.
In my experience, this is typically co
In most languages entering and exiting a try/catch block via the normal methods is free, it's only when an exception is thrown that the exception handler looks up where to handle the exception.