русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Обработка ошибок


Дата добавления: 2015-07-09; просмотров: 546; Нарушение авторских прав



 

Свойство onerror объекта Window – это особенный обработчик. Если присвоить это_ му свойству функцию, она будет вызываться во всех случаях, когда в окне воз_


 

14.7. Обработка ошибок
   

 

никает ошибка – эта функция становится обработчиком ошибок для данного ок_ на. (Обратите внимание: для тех же целей было бы достаточно определить гло_ бальную функцию onerror(), т. к. это эквивалентно присваиванию функции свойству onerror объекта Window. Однако прием с определением функции oner_ ror() в IE работать не будет.)

 

Обработчику ошибок передается три аргумента. Первый аргумент – это сообще_ ние, описывающее произошедшую ошибку. Это может быть что_то вроде «отсут_ ствует оператор в выражении», «свойство self доступно только для чтения» или «свойство myname не определено». Второй аргумент – это строка, содержащая URL_адрес документа с JavaScript_кодом, приведшим к ошибке. Третий аргу_ мент – это номер строки в документе, где произошла ошибка. Обработчик оши_ бок может применять эти аргументы для разных целей. Типичный обработчик ошибок может показать сообщение пользователю, записать его в журнал или по_ требовать игнорирования ошибки. До появления JavaScript 1.5 обработчик on_ error() мог использоваться как замена конструкции try/catch (см. главу 6) для обработки исключений.

 

Помимо этих трех аргументов, важную роль играет значение, возвращаемое об_ работчиком onerror(). Броузеры в случае возникновения ошибки обычно выво_ дят сообщение в диалоговом окне или строке состояния. Если обработчик oner_ ror() возвращает true, это говорит системе о том, что ошибка обработана и ника_ ких дальнейших действий не требуется; другими словами, система не должна выводить собственное сообщение об ошибке.

 

За последние годы способ обработки JavaScript_кодом ошибок в броузерах изме_ нился. Ранее, когда язык JavaScript еще был в диковинку, а броузеры были со_ всем еще юными, для них было обычным делом выводить диалоговые окна всякий раз, когда в сценарии возникала ошибка. Эти окна несли информацию, полезную для разработчика, но сбивали с толку конечного пользователя. Чтобы уберечь ко_ нечного пользователя от появления подобных диалоговых окон, в окончатель_ ных версиях веб_страниц (многие веб_страницы порождают ошибки в ходе ис_ полнения JavaScript_сценариев, по крайней мере, в некоторых броузерах) мож_ но просто определить обработчик ошибок, который ничего не выводит:



 

// Не беспокоить пользователя сообщениями об ошибках window.onerror = function() { return true; }

 

С ростом объемов плохо продуманного и несовместимого JavaScript_кода в Ин_ тернете ошибки стали обычным делом, в результате броузеры стали регистриро_ вать возникающие ошибки ненавязчивым образом. Это улучшило положение конечных пользователей, но усложнило жизнь разработчикам, которым теперь приходится открывать окно JavaScript_консоли (например, в Firefox), чтобы увидеть, возникали ли какие_либо ошибки. Чтобы упростить процесс отладки, можно воспользоваться примерно таким обработчиком ошибок:

 

// Вывести сообщение об ошибке в виде диалогового окна, но не более 3 раз window.onerror = function(msg, url, line) {

 

if (onerror.num++ < onerror.max) {

 

alert("ОШИБКА: " + msg + "\n" + url + ":" + line); return true;

 

}

}


 

306 Глава 14. Работа с окнами броузера

 

onerror.max = 3; onerror.num = 0;

 



<== предыдущая лекция | следующая лекция ==>
Строка состояния | Работа с несколькими окнами и фреймами


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.