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