1С Предприятие 8.0. Описание встроенного языка

Пока Цикл


«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Пока (While)

Синтаксис:

Пока <Логическое выражение> Цикл

// Операторы

[Прервать;]

// Операторы

[Продолжить;]

// Операторы

КонецЦикла ;



Параметры:

<Логическое выражение>

Логическое выражение.

Цикл

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

// Операторы

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

Прервать

Позволяет прервать выполнение цикла в любой точке. После вы­полнение этого оператора управление передается оператору, сле­дующему за ключевым словом КонецЦикла.

Продолжить

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

КонецЦикла

Ключевое слово, которое завершает структуру оператора цикла.

Описание:

Оператор цикла Пока предназначен для циклического повторения операторов, находящиеся внутри конструкции Цикл КонецЦикла. Цикл выполняется, пока логическое выражение равно Истина. Условие выполнения цикла всегда проверяется вначале, перед выполнением цикла.

Пример:

ВыборкаДок = Документы. РасходнаяНакладная. Выбрать();

// Цикл по всем документам

Пока ВыборкаДок.Следующий() Цикл

    // отобразим Документ в строке состояния

    Состояние ("Обрабатывается документ: " + ВыборкаДок.Номер);

    // Операторы выполнения действий над документом

КонецЦикла;

Попытка (Try)

Синтаксис:

Попытка

// Операторы попытки

Исключение

// Операторы исключения

[ВызватьИсключение ; ]

// Операторы исключения

 КонецПопытки ;

Параметры:

// Операторы попытки

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

Исключение

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

// Операторы исключения




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

ВызватьИсключение

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

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

КонецПопытки

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

Описание:

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

В качестве ошибочных (исключительных) ситуаций воспринима­ются ошибки времени выполнения модуля. Не предусмотрено определяемых пользователем исключений.

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



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

В выдаче диагностики помощь может оказать встроенная функция ОписаниеОшибки (см. описание функций встроенного языка).

Пример:

Процедура СформироватьВЕхсеl()

Попытка

    // Пытаемся обратиться к программе MS Excel

    Табл = СоздатьОбъект("Excel.Application");

Исключение

    Предупреждение(ОписаниеОшибки);

    Возврат;

КонецПопытки;

// Операторы формирования отчета

КонецПроцедуры

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Содержание раздела