Оператор TRY
Оператор TRY - создание действия, которое выполняет некоторое действие с обработкой исключений.
Синтаксис
TRY action [CATCH catchAction] [FINALLY finallyAction]
Описание
Оператор TRY создает действие, которое выполняет другое действие и занимается обработкой исключений в нем.
Форма оператора без ключевого слова FINALLY создает действие, выполняющее другое действие и перехватывающее возникающие в нем ошибки. При этом ошибка никуда не передается.
Форма оператора с ключевым словом FINALLY создает действие, которое выполняет другое действие, перехватывает возникающие ошибки, затем вне зависимости от того, возникла ли ошибка или нет, выполняет действие, указанное в блоке FINALLY, и затем, в случае если возникла ошибка и нет блока CATCH, передает эту ошибку верхнему по стеку действию.
Параметры
- 
actionКонтекстно-зависимый оператор, описывающий действие, которое будет выполнено с обработкой исключений. 
- 
catchActionКонтекстно-зависимый оператор, описывающий действие, которое будет выполнено в случае возникновения ошибки во время выполнения действия. При этом сообщение ошибки будет записано в свойство System.messageCaughtException[], java-стек ошибки будет записан вSystem.javaStackTraceCaughtException[], а LSF стек - вSystem.lsfStackTraceCaughtException[].
- 
finallyActionКонтекстно-зависимый оператор, описывающий действие, которое будет выполнено после выполняемого действия вне зависимости от того, возникла ошибка или нет. 
Примеры
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);
    }
}