1999 г

Блоки try... catch... finally... в JScript 5.

Степанищев Евгений

Пояснение для людей не знакомых с данной конструкцией

    Конструкция try – catch - finally предназначена для перехвата ошибок (исключений). Если в блоке try каком-то операторе возникает ошибка, JScript игнорирует остальные операторыОператор (позднелат.operator— работник, исполнитель, от operor— работаю, действую)— то же, что отображение в математике. и переходит в блок catch, где находится блок обработки исключений. Последним выполняется блок finally, в котором обычно выполняют некие заключительные действия. Допускается использование неполной конструкции - без catch или finally.

Скажу сразу, что бы не было никаких недоразумений: JScript – это JavaScript в интерпретации MicrosoftMicrosoft (Microsoft Corporation, читается «майкрософт», NASDAQ: MSFT)— одна из крупнейших транснациональных компаний по производству программного обеспечения для различного рода вычислительной техники— персональных компьютеров, игровых приставок, КПК, мобильных телефонов и прочего, разработчик наиболее широко распространённой на данный момент в мире программной платформы— семейства операционных систем Windows., а 5-я версия предполагает наличие InternetИнтернет (произносится [интэрнэт]; англ.Internet)— всемирная система объединённых компьютерных сетей, построенная на использовании протокола IP и маршрутизации пакетов данных. Интернет образует глобальное информационное пространство, служит физической основой для Всемирной паутины и множества других систем (протоколов) передачи данных. Часто упоминается как «Всемирная сеть» и «Глобальная сеть». В обиходе иногда говорят «Инет». Explorer 5.0 (в 4-м IE всего лишь 3-я версия JScript).
Не знаю как вы, а я, сколько программирую на J[ava]Script мечтал, что бы в этом языке появился наконец эта конструкция из двух слов, но шли годы, а заветные слова так и оставались зарезервированными и я уж было потерял всякую надежду, как вышел пятый IE...

И вот, однажды вечером, внося очередные изменения в свой JS Unix (http://www.chat.ru/~junix/) и роясь одновременно во внутренностях 5-го "зонда" взгляд мой зацепил знакомые "try, catch" и незнакомое "Error". Смутная надеждаНадежда — положительно окрашенная эмоция, связанная с ожиданием удовлетворения потребности, а также философский, религиозный и культурный концепт, связанный с осмыслением состояния человека, испытывающего эту эмоцию. маленьким мерцающим огоньком загорелась в моей душе. Осторожно, не давая ей погаснуть я протянул руки к клавиатуре, набрал try... catch... и в место досадного "зарезервированные слова" получил радостное "предполагается наличие }". Надо было видеть меня в тот момент (или слышать), каюсь: я кричал, что Гейтс молодчина. Каюсь, потому что Гейтс – плохой дядя, сделал в пятой версии то, что надо было сделать еще в первой. Ну да ладно, это все замечательно, но надо было сделать так, что бы кроме пятого эксплорера, остальные браузеры не замечали этот блок. Хорошо, что в JScript есть такая замечательная вещь, как условная компиляция. Воспользовавшись ею можно скрыть все что угодно от посторонних глаз Netscape NavigatorNavigator(рус. Навигатор, штурман, мореплаватель) — седьмой альбом немецкой группы Disbelief. Новый материал был записан в слегка изменённом составе, с новым продюсером Майклом Майнксом, на новой студии «MX», в городе Бухен на родине музыкантов. Альбом вышел 23-го февраля 2007-го года на лейбле «Massacre Records». Звук претерпел некоторых изменений, стал более экспериментальным и концептульным, но стиль игры группа сохранила, на некоторых песнях чувствуется небольшая примесь трэш-метала. На заглавную песню альбома был снят клип, где группу запечатлили уже вчетвером. и Internet Explorer 4.01 и ниже. Таким образом, вся конструкция выглядит так (после точки с запятой – мои комментарии):

    /*@cc_on @*/ ; Включаем условную компиляцию
    /*@if (@_jscript_version>4) ; Проверяем версию JScript
    try ; Сам блок try
    {@end @*/
    Result=eval(expression); ; Делаем что-то полезное
    /*@if (@_jscript_version>4)
    } catch (err) ; "Ловим" ошибку
    {
    alert(err.description); ; Сообщение об ошибке
    Result='';
    } finally
    {
    alert(Result); ; Завершающие действия
    };
    @end @*/
    /*@cc_off @*/ ; Выключаем условную компиляцию

Где еrr – имя объекта Error, который будет создан при возникновении ошибки, в него будут помещены параметры ошибки. Объект Error имеет три конструктора и два свойства:

err=new Error();

err=new Error(number);

err=new Error(number,description);

Свойство (и параметр конструктора) number – числовое значение (номер ошибки), свойствоСвойство (в философии, математике и логике)— атрибут предмета (объекта). Например, о красном предмете говорится, что он обладает свойством красноты. Свойство можно рассматривать как форму предмета самого по себе, притом, что он может обладать и другими свойствами. Свойства, следовательно, подпадают под действие парадокса Рассела и парадокса Греллинга-Нельсона. description (так же параметрПараметр (от др.-греч. «соразмеряю») — величина, значения которой служат для различения элементов некоторого множества между собой. конструктора) – строка, описание ошибки. Некоторые числовые значения и соответствующие им описания ошибок приведены в таблице ниже:

Номер ошибки

Описание ошибки

-2146823279

Определение отсутствует

-2146827282

Предполагается наличие ‘)’

-2146827273

Незавершенная строковая константа

-2146827286

Ошибка синтаксиса

-2146827280

Предполагается наличие {

-2146827850

Объект не поддерживает это свойство или метод

-2146827843

Команда не поддерживается объектом

-2146827859

Невозможно создание объекта сервером программирования объектов

-2146828235

Файл не найден

Существует способМетод (от греч. — «способ»)— систематизированная совокупность шагов, действий, которые необходимо предпринять, чтобы решить определенную задачу или достичь определенной цели. В отличие от области знаний или исследований, является авторским, то есть созданным конкретной персоной или группой персон, научной или практической школой. В силу своей ограниченности рамками действия и результата, методы имеют тенденцию морально устаревать, преобразовываясь в другие методы, развиваясь в соответствии с временем, достижениями технической и научной мысли, потребностями общества. Совокупность однородных методов принято называть подходом. Развитие методов является естественным следствием развития научной мысли. программно возбудить исключение (создать ошибку) - достаточно вызвать оператор throw с созданным ранее объектом Error. При перехвате ошибки конструкцией try-catch созданный объект будет передан блоку catch. Примеры:

var err=new Error(-10,"Неверное число");
throw(err);

throw(new Error(-4,"Ошибка"));

Таким образом JScript пополнился еще одной полезной конструкцией, существенно упрощающей жизнь программиста.

Web-программист казанского центра Интернет Степанищев Е.В.

 

Мы рекомендуем еще посмотреть:

Общие сведения

Курс «SND» можно позиционировать как вводный курс для всех, кто начинает изучение вопросов безопасности в сетях, построенных на оборудовании Cisco. Знания, получаемые на этом курсе, используются на всех остальных курсах направления Network Security.

На курсе закладываются базовые основы знаний по безопасности сетей передачи данных, изучаются уязвимость сетей, различные виды атак, основные защитные мероприятия. Слушатели знакомятся с терминологией, концепциями и проблематикой в области безопасности сетей; рассматриваются типовые решения Cisco SAFE для построения безопасных сетей.

Слушатели курса ознакомятся со всей линейкой продуктов и технологий Cisco, составляющих фундамент обеспечения безопасности.

«SND» рекомендован для изучения всем, кто готовится получить звание Cisco Certified Security Professional (CCSP).

Настоящий курс может быть рекомендован не только специалистам, непосредственно осуществляющим настройку оборудования Cisco, но и всем, чья деятельность связана с решением проблем сетевой безопасности: менеджерам продаж, проектировщикам, консультантам, руководителям отделов, разработчикам программного обеспечения и т.д.

До декабря 2005 года часть материала «SND» рассматривалась в курсе «SECUR». После чего была переработана и, на наш взгляд, стала более удачной за счет более четкого изложения концептуальных основ безопасности и за счет добавления обзора всей линейки оборудования Cisco, используемой в сетевой безопасности.

Приобретаемые навыки

  • Умение решать основные задачи по обеспечению безопасности сетевых устройств 2-го и 3-го уровней модели OSI.
  • Понимание роли различных устройств Cisco в обеспечении сетевой безопасности.
  • Навыки работы с маршрутизаторами, коммутаторами локальных сетей, серверами контроля доступа, датчиками обнаружения и предотвращения вторжения, концентраторами виртуальных частных сетей, межсетевыми экранами для обеспечения безопасности в сетях с использованием средств как командно-строчного, так и графического интерфейса.

Уровень предварительной подготовки

  • Умение конфигурировать устройства под управлением Cisco IOS в рамках, соответствующих квалификации CCNA (курсы ICND1 и ICND2).
  • Наличие базовых знаний по операционной системе Windows.

Программа курса.

Учебный курс «SND 2.0»

Securing Cisco Network Devices

Расписание:
Пока не составлено.
Продолжительность курса: 5 дней.

Ближайший учебный курс ND 3321 СКС SYSTIMAX пройдёт c 18 по 21 августа 2009 г.
Подать заявку
Module 1: Introduction to Network Security.
Ведение сетевую безопасность.
Module 2: Securing the Perimeter.
Защита пограничных сетевых устройств.
Module 3: PIX Security Appliances.
Сетевые экраны безопасности PIX.
Module 4: Host and Network Based IPS.
Системы обнаружения и предотвращения вторжения, распределённые по сети и устанавливаемые на хосты.
Module 5: IPSec VPNs.
Виртуальные частные сети IPsec.
2009 IT и оборудование для бизнеса, S-NETWORKS. Информационные технологии и Информационное оборудование