Обработка исключений (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);
}
}