Перейти к основному содержимому
Версия: 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);
}
}