|
![]() |
#1 |
Участник
|
При исполнении CLR кода в аксапте перехват ошибок CLR происходит несколько иначе чем ошибки X++. Поэтому в логах пакетного задания не будет никакой информации, лишь сама пакетная задача переводится в статус "ошибка".
При использовании вызовов CLR методов придется всегда, в явном выиде ошибки перехватывать и парсить, иначе понять причины ошибки нельзя. Вот пример, как получить описание ошибки вызванной исполнением CLR кода: X++: System.Exception exception; ; try { ... CLR } catch (Exception::CLRError) { exception = CLRInterop::getLastException(); while (exception) { error(exception.get_Message()); exception = exception.get_InnerException(); } throw error("Операция отменена"); } |
|
|
За это сообщение автора поблагодарили: Evgenius (1). |
![]() |
#2 |
Участник
|
Цитата:
Сообщение от someOne
![]() При исполнении CLR кода в аксапте перехват ошибок CLR происходит несколько иначе чем ошибки X++. Поэтому в логах пакетного задания не будет никакой информации, лишь сама пакетная задача переводится в статус "ошибка".
При использовании вызовов CLR методов придется всегда, в явном выиде ошибки перехватывать и парсить, иначе понять причины ошибки нельзя. Вот пример, как получить описание ошибки вызванной исполнением CLR кода: X++: System.Exception exception; ; try { ... CLR } catch (Exception::CLRError) { exception = CLRInterop::getLastException(); while (exception) { error(exception.get_Message()); exception = exception.get_InnerException(); } throw error("Операция отменена"); } Пример - то, что нужно. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|