Справочник по JScript : Конструкции JScript : Конструкция catch

смотрим также

Материал из Справочник Web-языков

Перейти к: навигация, поиск


Содержание

try...catch...finally Statement - Конструкция try...catch...finally

Осуществляет обработку ошибок в JScript.

Синтаксис

try { tryStatements} catch(exception){ catchStatements} finally { finallyStatements}

Аргументы

tryStatements
Обязательный аргумент. Операторы и конструкции, где может произойти ошибка.
exception
Обязательный аргумент. Имя переменной. Исходное значение аргумента exception - это значение произошедшей ошибки.
catchStatements
Необязательный аргумент. Операторы и конструкции, обрабатывающие возникшие ошибки в соответствующем блоке tryStatements.
finallyStatements
Необязательный аргумент. Операторы и конструкции, которые обязательно выполнятся после завершения обработки всех ошибок.

Описание

Конструкция try...catch...finally позволяет обрабатывать некоторые или даже все ошибки, возникающие в заданном блоке кода программы, не прерывая выполнения самой программы. Если в процессе работы возникает ошибка, обработку которой программист не задал, то пользователю просто выведется сообщение об ошибке.

Аргумент tryStatements содержат код, в котором может возникнуть ошибка, а catchStatements - код для обработки этих ошибок. При возникновении ошибки в tryStatements, управление программой передается catchStatements. Исходное значение exception - это значение возникшей в tryStatements ошибки. Если ошибок нет, то catchStatements не выполняется.

Если ошибка не может быть обработана в catchStatements, связанном с tryStatements где и произошла ошибка, используйте операторы throw или rethrow для трансляции ошибки на более высокий уровень обработчика ошибок.

После того, как выполнятся все операторы в tryStatements, и будет произведена обработка ошибок средствами catchStatements, будут выполняться операторы в finallyStatements.

Заметьте, что код в finallyStatements выполняется даже в том случае, если оператор возврата находится внутри блоков try или catch, или если блок catch перенаправляет ошибку. То есть операторы в блоке finallyStatements будут выполнены всегда, кроме случая, когда происходит не обрабатываемая ошибка (например, ошибка времени выполнения в блоке catch).

Примеры

В примерах показано как происходит обработка ошибок помощью конструкции try...catch...finally.

try
{
    // Вызываем ошибку.
    var x = y;
}
catch(e)
{
    document.write ("Error Message: " + e.message);
    document.write ("
"); document.write ("Error Code: "); document.write (e.number & 0xFFFF) document.write ("
"); document.write ("Error Name: " + e.name); }
try
    {
    ShowLine("Outer try running..");
 
    try
        {
        ShowLine("Nested try running...");
        throw new Error(301, "an error");
        }
    catch(e)
        {
        ShowLine("Nested catch caught " + e.message);
        throw e;
        }
    finally
        {
        ShowLine("Nested finally is running...");
        }   
    }
catch(e)
    {
    ShowLine("Outer catch caught " + e.message);
    }
finally
    {
    ShowLine("Outer finally running");
    }


function ShowLine(s)
    {
    document.write(s);
    document.write ("
"); } //В результате будет выведена следующая информация Outer try running.. Nested try running... Nested catch caught an error Nested finally is running... Outer catch caught an error Outer finally running

Поддержка

JScript Version 5

Смотрите также

Ссылки на источники

http://msdn.microsoft.com/en-us/library/4yahc5d8(v=VS.85).aspx

Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="http://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования