Перейти к основному содержимому
Версия: 4.x

Обработка исключений (TRY)

Оператор обработки исключений позволяет выполнить действие, и если в этом действие возникла ошибка (исключение):

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

Язык​

Для объявления действия, обрабатывающего исключения, используется оператор TRY.

Примеры​

tryToImport(FILE f)  {
TRY {
LOCAL a = BPSTRING[10] (INTEGER);

IMPORT XLS FROM f TO a = A;
}
}

CLASS MyLock {
lock 'Блокировка'
}

singleDo () {
NEWSESSION {
lock(MyLock.lock);
IF lockResult() THEN
TRY {
MESSAGE 'Lock Obtained';
} CATCH {
MESSAGE messageCaughtException();
} FINALLY unlock(MyLock.lock);
}
}