Это отличный вопрос. Конечно, событие окна error
никогда не должно заменять стратегически размещенные блоки try/catch
или правильное использование ответов об ошибках от HTTP-запросов, но пока мобильные браузеры не догонят настольные версии, сообщать о действительно неожиданных ошибках практически невозможно.
У меня нет времени, чтобы проверить это; так что все, что я могу предложить - это мысленный эксперимент на данный момент, который, честно говоря, вероятно, плохая идея ...
Вы могли бы потенциально написать функции замены для addEventListener
(и, возможно, dispatchMethod
), которые могли бы обернуть аргументы собственных функций / обработчиков с помощью try/catch
и вызвать собственный глобальный регистратор ошибок. Поскольку не существует простого способа «зацепить» эти функции одновременно, это, без сомнения, означало бы повторение многих прототипов собственных объектов на window
для выполнения «обертывания». Это может охватывать подавляющее большинство исключений, которые в настоящее время замолкают.