Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 06:25

Попытка [описание оператора попытка]

Автор 1cwiki, 18 июл 2015, 15:11

0 Пользователей и 1 гость просматривают эту тему.

1cwiki

Раздел
Общее описание встроенного языка
Подразделы
Операторы
Попытка (Try)
Синтаксис:
    Попытка
    // Операторы попытки
    Исключение
    // Операторы
    исключения
    [ВызватьИсключение;]
    // Операторы исключения
    КонецПопытки;

Англоязычный синтаксис:
    Try
    // Операторы попытки
    Except
    // Операторы исключения
    [Raise;]
    // Операторы исключения
    EndTry;

Параметры:
    // Операторы попытки
    Исполняемый оператор или последовательность таких операторов.

    Исключение
    Операторы, следующие за ключевым словом Исключение выполняются, если при выполнении последовательности операторов произошла ошибка времени выполнения.

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

    ВызватьИсключение
    Оператор позволяет вызвать исключение в тех случаях, когда несмотря на отработку исключительной ситуации операторами исключения необходимо прервать выполнение модуля с ошибкой времени выполнения. Оператор допустим только внутри операторных скобок Исключение – КонецПопытки.

    Выполнение данного оператора прекращает выполнение последовательности операторов исключения и производит поиск более "внешнего" обработчика исключения (при вложенных попытках). Если таковой есть, то управление передается на его первый оператор. Если нет, то исключительная ситуация обрабатывается системно, выдается сообщение о первоначально возникшей ошибке, а выполнение модуля прекращается.

    КонецПопытки
    Ключевое слово, которое завершает структуру оператора обработки исключительных ситуаций.

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

Если при выполнении последовательности операторов попытки произошла ошибка времени выполнения, то выполнение оператора, вызвавшего ошибку, прерывается и управление передается на первый оператор последовательности операторов исключения. При этом управление будет передано даже в том случае, если ошибку вызвал оператор, находящийся в процедуре или функции, вызванной из операторов попытки. Если ошибка произошла в вызванной процедуре или функции, то ее выполнение будет прервано, а локальные переменные – уничтожены. Это справедливо для любой вложенности вызовов. После выполнения последовательности операторов исключения управление передается на следующий за ключевым словом КонецПопытки оператор. Если же последовательность операторов попытки выполнилась без ошибок, то последовательность операторов исключения будет пропущена и управление также
будет продолжено с оператора, следующего за ключевым словом КонецПопытки.

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

См. также:

                  Метод ИнформацияОбОшибке(),

                  Метод ОписаниеОшибки().

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск