Как отлавливать исключения / ошибки JavaScript? (Чтобы войти их на сервер) - PullRequest
15 голосов
/ 23 апреля 2009

Дубликат:


Как бы я занялся регистрацией ошибок в javascript? Я не могу обернуть каждую строку javascript в блок try try.

Я говорил об ошибках, которые, например, в IE, отображали бы сообщение об ошибке на странице и имели строку и символ, вызвавший ошибку. Если я могу просто выяснить, как перехватить эту ошибку на стороне клиента, я могу просто зарегистрировать ошибку на сервере, используя вызов ajax.

1 Ответ

27 голосов
/ 23 апреля 2009

Я использую эту функцию во всех моих проектах:

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 мгновенно умирает, если есть синтаксическая ошибка.

...