Ошибки времени выполнения

Опубликовал: Суббота, Апрель 7, 2012 в категории HTML | Пока нет комментариев

— это ошибки, которые возникают во время работы скрипта. Причиной являются события, не предусмотренные програм- мистом.

В некоторых языках (например, в PHP) ошибки времени выполнения возни- кают из-за деления на ноль или обращения к несуществующему элементу массива. В языке JavaScript в этих случаях программа прервана не будет. При попытке деления на ноль возвращается значение Infinity:

window.alert(5/0); // Infinity

При обращении к несуществующему элементу массива возвращается значе-

ние undefined:

var arr = [ 1, 2];

window.alert(arr[20]); // undefined

Очень часто ошибки времени выполнения возникают при использовании ус-

ловий:

if (x>5) window.alert("x > 5");

else doument.write(x + "<br>"); // Строка с ошибкой

В этом примере никакой ошибки не будет, пока соблюдается условие "x>5". Как только условие перестанет выполняться, сразу возникнет ошибка, и вы- полнение программы будет прервано.

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

Перехватить и обработать ошибки позволяет конструкция try/catch/finally.

Конструкция имеет следующий формат:

try {

<Выражения, в которых перехватываем ошибки>

}

[catch ([<Ссылка на объект Error>]) {

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

}]

[finally {

<Выражения, которые будут выполнены в любом случае>

}]

Выражения, в которых могут возникнуть ошибки, размещаются в блоке try. Если внутри этого блока возникнет исключение, то управление будет пере- дано в блок catch. В качестве параметра в блоке catch можно указать пере- менную, через которую будет доступен объект Error, содержащий описание ошибки. Если в блоке try ошибки не возникло, то блок catch не выполняет- ся. Если указан блок finally, то выражения внутри этого блока будут вы- полнены независимо от того, возникла ошибка или нет. Блоки catch и fi- nally являются необязательными, но хотя бы один из них должен быть указан.

В некоторых случаях требуется не обрабатывать ошибку, а, наоборот, указать программе, что возникла неисправимая ошибка, и прервать выполнение всей программы. Для этого предназначен оператор throw:

if (d < 0)

throw new Error("Переменная не может быть меньше нуля");

Источник: Прохоренок Н. А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — 912 с.: ил. + Видеокурс (на CD-ROM) — (Профессиональное программирование)

Add to Social Bookmarks
  • del.ici.ous
  • Digg
  • Furl
  • Google
  • Simpy
  • Spurl
  • Y! MyWeb
  • BobrDobr
  • Mr. Wong
  • Yandex.Bookmarks
  • Text 2.0
  • News2
  • AddScoop
  • RuSpace
  • RUmarkz
  • Memori
  • Google Bookmarks
  • Pisali
  • SMI 2
  • Moe Mesto
  • 100 Zakladok
  • Vaau!
  • Technorati
  • RuCity
  • LinkStore
  • NewsLand
  • Lopas
  • Закладки - I.UA
  • Connotea
  • Bibsonomy
  • Trucking Bookmarks
  • Communizm
  • UCA

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>