byte916
@byte916

Как организовать глобальную обработку исключений в JS/TS?

Есть множество ts-файлов, с классами, методами и прочим. Используется асинхронность (практически полностью на промисах).
Всё собирается с помощью webpack в одну библиотеку, которая встраивается во множество сайтов.

Вопрос: как централизованно отлавливать все исключения возникшие именно в этой js-библиотеке? (для последующей отправки на сервер для сбора ошибок и дальнейшего исправления).

Пути видятся следующие:
1. Использовать windows.onerror. Не подходит, по двум причинам - надо отлавливать не все ошибки, а только относящиеся к этой библиотеке, и библиотека встраивается в сайты, которые сами по себе могут прослушивать это событие.
2. Заворачивать всё в try...catch. Неудобно, долго, легко ошибиться.
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
Можно не пользоваться выбросом исключений, а возвращать код ошибки например.
Что-то вроде
const DIV_ERROR = "division error";
function raise(code){
log(`Error ${code}`);
return code;
}
function division(a,b){
if (b==0) return raise(DIV_ERROR);
return a/b;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы