class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

JavaScript

Основы

Введение
Внедрение
Комментарий
Утверждения
Идентификаторы
Типы данных
Литералы
Переменные
Область видимости
Строки
Массивы
Ассоциативные массивы
Выражения и операции
Управляющие операторы
Функции
ООП - объекты
ООП - прототип, наследование
Замыкание
RTTI
Исключения
Объект Math
Объект Global
Объект Number
Регулярные выражения
XML DOM

библиотеки

Справочник по JavaScript

Исключения

Исключительная ситуация может произойти по двум причинам. Первая, это обнаружение ошибки, чье отслеживание встроено в язык, например неправильный синтаксис. Вторая, это использование оператора throw.

Для обработки исключений используется три ключевых слова. Оператор try определяет блок, в котором исключения будут отслеживаться.

Оператор catch определяет блок обработки исключения. Аргумент оператора инициализируется объектом типа Error или в значение выражения, переданного оператором throw.

И наконец оператор finally> определяет необязательный блок, который будет выполнен в любом случае.

В последних версиях Internet Explorer тип Error обладает двумя встроенными свойствами. Свойство number в младшем слове содержит настоящий номер ошибки, а в старшем удобный номер. Свойство description - содержит краткое описание ошибки. Но эти свойства не реализованы в JavaScript (т.е. в Mozilla Firefox).

 
var x;
try {
x=y;
document.write( "no error" +"<br>"); // не будет выполнено
}
catch(e){
if(e instanceof Error)
    document.write( "object Error used for error value"+ "<br>");

// вывод информации об ошибке
document.write( (e.number & 0xFFFF)+", " + e.description)   
}

В результате этого кода в Internet Explorer 7 выводится строка "5009, "y" - определение отсутствует", а в Mozilla Firefox строка "0, undefined" (0 из-за применения операции &).

Популярные браузеры предоставляют свои инструменты обнаружения ошибок. Так в Mozilla Firefox есть консоль ошибок, куда выводятся все ошибки на странице (не только связанные с JavaScript). Если ошибка отслеживается языком и заключена в блок try, то она не появляется там. В IE вместо консоли реализован режим отладки (включается в настройках), который выдает сообщение об ошибке на странице.

Ниже приведен пример использования собственного исключения работающий и в Internet Explorer и в Mozilla Firefox.


var x;
try {
 x=2;

if(x==2)
     throw "О ужас, x равно 2"; // бросаем исключение
      
document.write( "no error" +"<br>"); // не будет выполенено
}
catch(e){   
document.write(e); // вывод информации об ошибке
}

Следующий код будет работать корректно только в Internet Explorer


// возможно вначале удобнее отладить весь скрипт в IE,
// а потом вообще убрать большинство try...catch блоков
var x;
try {
x=2;

if(x==2)
   throw new Error(1,"О ужас, x равно 2");     

document.write( "no error" +"<br>"); // не будет выполенено
}
catch(e){   
document.write( (e.number & 0xFFFF) + ", " + e.description)   
}

Рейтинг@Mail.ru