I usually surround try-catch blocks around anything that has to go externally from PHP, such as file requests, establishing database connections, cURL/fopen requests, etc
One thing I always taught my Java students (and it applies here) is to make sure your exception handling is a tight (localized) as possible.
In other words only surround the code that could throw an exception, I see way too many people surround the entire script in the try catch when in fact there’s only a few lines of code where it could happen. It not only makes them easier to manage it also makes handling exceptions a lot more efficient.