Как перехватить исключения/ошибки JavaScript?(Чтобы зарегистрировать их на сервере)
-
13-09-2019 - |
Вопрос
Дубликат:
Как мне записывать ошибки в JavaScript?Я не могу обернуть каждую строку javascript в блок try catch.
Я говорю об ошибках, которые, например, в IE, отображают сообщение об ошибке на странице и содержат строку и символ, вызвавшие ошибку.Если я смогу понять, как отловить эту ошибку на стороне клиента, я смогу просто зарегистрировать ошибку на сервере с помощью ajax-вызова.
Решение
Я использую эту функцию во всех своих проектах:
window.onerror = function(m,u,l){
jQuery.post("ajax/js_error_log.php",
{ msg: m,
url: u,
line: l,
window: window.location.href });
return true};
Убедитесь, что это самый первый JavaScript-скрипт, который получает браузер, или, по крайней мере, он предшествует любому коду, потенциально вызывающему ошибки.Конечно, требуется jQuery, но при желании вы можете кодировать функции ajax на чистом JavaScript.
Пожалуйста, обрати внимание:это не поможет вам, если у вас есть синтаксическая ошибка.Весь javascript мгновенно умирает, если возникает синтаксическая ошибка.