Событие error возникает только тогда, когда возникает ошибка синтаксиса JavaScript или ошибка времени выполнения, а не при появлении ошибки браузера. Например, если Вы попытаетесь установить window.location.href='notThere.html', а файл notThere.html не существует, результирующим сообщением об ошибке будет сообщение браузера; следовательно, onError не будет перехватывать это сообщение. Однако событие error будет включаться неверным URL в тэге IMG или неверными данными изображения.
window.onerror применяется только к ошибкам, которые возникают в окне, содержащем window.onerror, но не к ошибкам в других окнах.
onError может иметь следующие значения:
null для подавления всех диалогов JavaScript об ошибках. Установка window.onerror в null означает, что Ваши пользователи не увидят ошибок JavaScript, вызванных Вашим кодом.
Имя функции, обрабатывающей ошибки (аргументами являются текст сообщения, URL и номер строки с ошибкой). Для подавления стандартного диалога JavaScript об ошибках эта функция обязана возвращать true. См. Пример 3 ниже.
Переменная или свойство, содержащее null или верную ссылку на функцию.
Если Вы пишете функцию-обработчик ошибок, у Вас есть три опции для сообщения об ошибках:
Отслеживать ошибки, но дать возможность сообщать о них через стандартный диалог JavaScript (использовать функцию обработки ошибок, которая возвращает false или не возвращает значение).
Самостоятельно сообщать об ошибках и отключить стандартный диалог (использовать функцию обработки ошибок, возвращающую true).
Отключить все сообщения об ошибках (установить null в обработчик onError).