Есть код , типа такого
X++:
try
{
ttsbegin;
....
stdClass.Method();
myClass.Method();
....
ttscommit;
}
catch
{}
в stdClass.Method();
код приблизительно такой:
X++:
try
{
ttsbegin;
....
if (!someValidation())
throw error();....
ttscommit;
}
catch
{}
в результате, естественно, как только вызываемый класс выбрасывает ошибку, то она перехватывается в catch уже моего класса, а мне надо , чтобы исполнение кода не прерывалось и перешло на строку
.
(То есть, суть в том, что вычисления в stdClass не критичны для моего класса и мне достаточно сообщения в инфологе, что они закончились с ошибкой и нужно продолжить выполние кода )
Retry не подходит, тк он на самое начало вернет моего try блока.
Замена исключения в stdClass на ttsAbort тоже не поможет, тк ttsAbort откатывает не только текущую транзакцию, но и внешние тоже(.
Как перехватить ошибку, выбрасываемую stdClass классом и продолжить выполнение кода?