ServerXMLHTTP терпит неудачу на неразрешимом ul

Мы используем MSXML2.ServerXMLHTTP60Class для выполнения HTTP-запросов. Обычно это работает нормально, но в некоторых случаях, когда URL-адрес не может быть разрешен, метод send дает сбой. В этом случае генерируется исключение.

Проблема в том, что мы программируем в коде Microsoft Dynamcs NAV C/AL. Этот язык не поддерживает перехват ошибок (попробуйте поймать).

Кто-нибудь знает, есть ли какой-либо параметр в ServerXMLHTTP60Class, который предотвращает сбой метода send?

Примечание: метод отправки не работает, поэтому проверка статуса ответа невозможна.

Благодарю вас!


person Roeland    schedule 31.03.2016    source источник


Ответы (1)


В зависимости от версии Nav у вас есть разные способы обработки исключений.

В Nav 2016 будет функция try

В предыдущих версиях вы должны использовать синтаксис if codeunit.run then для перехвата исключения и getlasterrortext для получения сообщения об ошибке.

Для получения дополнительной информации прочитайте Vjeco.

Другой способ избежать необработанных исключений — написать . класс-оболочка вокруг ServerXMLHTTP60Class, который будет перехватывать все исключения и обрабатывать их так, как вам нравится.

person Mak Sim    schedule 31.03.2016
comment
Привет Мак, спасибо за ответ! Мы будем использовать опцию RUN (2009R2), но надеялись, что свойство автоматизации не будет «сбоить». - person Roeland; 01.04.2016
comment
@Roeland, если вы действительно этого хотите, напишите оболочку для ServerXMLHTTP60Class, которая будет перехватывать все исключения и не выдавать ни одного. - person Mak Sim; 01.04.2016
comment
Привет, я согласен, это не способ перехватить сообщения об ошибках или обработать исключения в 2009 году. - person azatoth; 01.04.2016