Имхо, любой try-catch (по крайней мере, в javascript) — это борьба со следствием, а не с причинами. Есть ошибка — надо ее исправить, а не скрывать от пользователя.
Есть асинхронный\файловый метод — надо равно обрабатывать и успешное выполнение и если что-то пошло не так.
Например, в node.js можно повесить событие на «непойманный эксепшн» — полезно в боевых условиях, когда сервер не должен падать, несмотря на ошибку.
Но это — лишь как средство тестирования. Т.е., попалась ошибка — записали в лог — увидели — исправили.