Mir-knigi.online
Книги онлайн читать бесплатно!
  • Главная
  • Жанры
  • ТОП книг
  • ТОП авторов
  • Контакты

JavaScript. Подробное руководство, 6-е издание

Часть 56 из 535 Информация о книге

<b>function square(x) { return х*х; } // Функция с инструкцией return</b>

<b>square(2)                          // Этот вызов вернет 4</b>

Если функция не имеет инструкции return, при ее вызове интерпретатор будет выполнять инструкции в теле функции одну за другой, пока не достигнет конца функции, и затем вернет управление вызвавшей ее программе. В этом случае выражение вызова вернет значение

<b>undefined</b>
. Инструкция
<b>return</b>
часто является последней инструкцией в функции, но это совершенно необязательно: функция вернет управление вызывающей программе, как только будет достигнута инструкция
<b>return</b>
, даже если за ней следуют другие инструкции в теле функции.

Инструкция

<b>return</b>
может также использоваться без выражения, тогда она просто прерывает выполнение функции и возвращает значение
<b>undefined</b>
вызывающей программе. Например:

<b>function display_object(o) {</b>

<b>  // Сразу же вернуть управление, если аргумент имеет значение null или undefined </b>

<b>  if (!о) return;</b>

<b>  // Здесь находится оставшаяся часть функции...</b>

<b>}</b>

Из-за того что интерпретатор JavaScript автоматически вставляет точки с запятой, нельзя разделять переводом строки инструкцию

<b>return</b>
и следующее за ней выражение.

5.6.5. Инструкция throw

Исключение - это сигнал, указывающий на возникновение какой-либо исключительной ситуации или ошибки. Возбуждение исключения (

<b>throw</b>
) - это способ просигнализировать о такой ошибке или исключительной ситуации. Перехватить исключение (
<b>catch</b>
) - значит обработать его, т. е. предпринять действия, необходимые или подходящие для восстановления после исключения. В JavaScript исключения возбуждаются в тех случаях, когда возникает ошибка времени выполнения и когда программа явно возбуждает его с помощью инструкции
<b>throw</b>
. Исключения перехватываются с помощью инструкции
<b>try/catch/finally</b>
, которая описана в следующем разделе.

Инструкция

<b>throw</b>
имеет следующий синтаксис:

<b>throw выражение;</b>

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

<b>Error</b>
одного из его подклассов, и вы также можете использовать подобный подход. Объект
<b>Error</b>
имеет свойство
<b>name</b>
, определяющее тип ошибки, и свойство
<b>message</b>
, содержащее строку, переданную функции-конструктору (смотрите описание класса
<b>Error</b>
в справочном разделе). Ниже приводится пример функции, которая возбуждает объект
<b>Error</b>
при вызове с недопустимым аргументом:

<b>function factorial(x) {</b>

<b>  // Если входной аргумент не является допустимым значением, возбуждается исключение! </b>

<b>  if (х &lt; 0) throw new Error(&quot;x не может быть отрицательным&quot;);</b>

<b>  // В противном случае значение вычисляется и возвращается нормальным образом </b>

<b>  for(var f = 1; х&gt;1; f*=x, х--) /* пустое тело цикла */ ; </b>

<b>  return f;</b>

<b>}</b>

Когда возбуждается исключение, интерпретатор JavaScript немедленно прерывает нормальное выполнение программы и переходит к ближайшему [7] обработчику исключений. В обработчиках исключений используется конструкция

<b>catch</b>
инструкции
<b>try/catch/finally</b>
, описание которой приведено в следующем разделе. Если блок программного кода, в котором возникло исключение, не имеет соответствующей конструкции
<b>catch</b>
, интерпретатор анализирует следующий внешний блок программного кода и проверяет, связан ли с ним обработчик исключений. Это продолжается до тех пор, пока обработчик не будет найден. Если исключение генерируется в функции, не содержащей инструкции
<b>try/catch/finally</b>
, предназначенной для его обработки, то исключение распространяется выше, в программный код, вызвавший функцию. Таким образом исключения распространяются по лексической структуре методов JavaScript вверх по стеку вызовов. Если обработчик исключения так и не будет найден, исключение рассматривается как ошибка и о ней сообщается пользователю.

5.6.6. Инструкция try/catch/finally

Инструкция

<b>try/catch/finally</b>
реализует механизм обработки исключений в JavaScript. Конструкция
<b>try</b>
в этой инструкции просто определяет блок кода, в котором обрабатываются исключения. За блоком
<b>try</b>
следует конструкция
<b>catch</b>
с блоком инструкций, вызываемых, если где-либо в блоке
<b>try</b>
возникает исключение. За конструкцией
<b>catch</b>
следует блок
<b>finally</b>
, содержащий программный код, выполняющий заключительные операции, который гарантированно выполняется независимо от того, что происходит в блоке
<b>try</b>
. И блок
<b>catch</b>
, и блок
<b>finally</b>
не являются обязательными, однако после блока
<b>try</b>
должен обязательно присутствовать хотя бы один из них. Блоки
<b>try, catch</b>
и
<b>finally</b>
начинаются и заканчиваются фигурными скобками. Это обязательная часть синтаксиса, и она не может быть опущена, даже если между ними содержится только одна инструкция.


Перейти к странице:
Предыдущая страница
Следующая страница
Жанры
  • Военное дело
  • Деловая литература
  • Детективы и триллеры
  • Детские
  • Детские книги
  • Документальная литература
  • Дом и дача
  • Дом и Семья
  • Жанр не определен
  • Зарубежная литература
  • Знания и навыки
  • История
  • Компьютеры и Интернет
  • Легкое чтение
  • Любовные романы
  • Научно-образовательная
  • Образование
  • Поэзия и драматургия
  • Приключения
  • Проза
  • Прочее
  • Психология и мотивация
  • Публицистика и периодические издания
  • Религия и духовность
  • Родителям
  • Серьезное чтение
  • Спорт, здоровье и красота
  • Справочная литература
  • Старинная литература
  • Техника
  • Фантастика и фентези
  • Фольклор
  • Хобби и досуг
  • Юмор
Mir-knigi.online

Бесплатная онлайн библиотека для чтения книг без регистрации с телефона или компьютера. У нас собраны последние новинки, мировые бестселлеры книжного мира.

Контакты
  • [email protected]
Информация
  • Карта сайта
© mir-knigi.online, 2026. | Вход