Как организовать глобальную обработку исключений в JS/TS?
Есть множество ts-файлов, с классами, методами и прочим. Используется асинхронность (практически полностью на промисах).
Всё собирается с помощью webpack в одну библиотеку, которая встраивается во множество сайтов.
Вопрос: как централизованно отлавливать все исключения возникшие именно в этой js-библиотеке? (для последующей отправки на сервер для сбора ошибок и дальнейшего исправления).
Пути видятся следующие:
1. Использовать windows.onerror. Не подходит, по двум причинам - надо отлавливать не все ошибки, а только относящиеся к этой библиотеке, и библиотека встраивается в сайты, которые сами по себе могут прослушивать это событие.
2. Заворачивать всё в try...catch. Неудобно, долго, легко ошибиться.
Во-первых, а по какой причине твоя библиотека в принципе кидает неотлавливаемые ошибки?
Во-вторых, достаточно обернуть в трайкетч все экспортируемые наружу функции.