У меня есть глобальный обработчик ошибок, поэтому я могу регистрировать ошибки в моем JavaScript и публиковать их через AJAX на моем сервере.Это выглядит так:
window.addEventListener('error', function(event) {
// pull error info from event
// post to server via AJAX
});
Иногда хорошо работает.Однако я получаю много уведомлений об ошибках, где сообщение Script error
, стек undefined
, строка и столбец 0
.
Мой комплект JavaScript находится в CDN с другим URLс реального веб-сайта, поэтому я добавил атрибут crossorigin="anonymous"
к своим элементам <script>
и обновил CDN, добавив заголовок ответа Access-Control-Allow-Origin: *
.Это уменьшило количество неинформативных Script error
уведомлений, но не устранило их все.
Я прочитал, что любые обратные вызовы, которые могут вызвать ошибку, приведут к уведомлению Script error
, так как стек недоступенк окну.Я хотел попробовать обернуть обратные вызовы с помощью try / catch, где блок catch перебрасывает ошибку - в надежде, что окно получит доступ к полезной информации об ошибке.
Однако я не могу воспроизвестиScript error
s.Я добавил строчку из нескольких разных обработчиков событий щелчка, и когда обработчики запускаются, мой глобальный обработчик ошибок фиксирует ошибки со всей имеющейся информацией стека.
Во-первых, как я могу воспроизвести простой Script error
в обратном вызове?
Во-вторых, является ли мой план упаковки обратных вызовов правильным способом сбора значимой информации об ошибках?