Как поймать исключения/ошибки javascript? (Чтобы зарегистрировать их на сервере)

Duplicate:


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

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

Ответы

Ответ 1

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

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