Область действия BizTalk «Catch Exception» Сообщение об общем исключении - PullRequest
5 голосов
/ 08 июня 2009

У меня есть область действия BizTalk (2006 R2) с частью «Catch Exception», в которую я поместил простую форму Expression, чтобы сохранить сообщение об исключении в переменной оркестровки.

Проблема в том, что, если я выберу тип исключения «Общее исключение», я не смогу указать имя объекта исключения. Где я могу получить информацию об исключении в этой ситуации?

Тогда я подумал, что просто выберу тип исключения в качестве System.Exception, но это невозможно. Я могу выбрать только более конкретные типы исключений .NET.

Я делаю это неправильно или так работает BizTalk?

Ответы [ 5 ]

8 голосов
/ 08 июня 2009

Думайте о перехвате «Generic Exception» как о эквиваленте выполнения блока «catch {}» в C # без объявленного исключения. Так что да, в этот момент нет способа получить сообщение об исключении, поскольку возникающее исключение может (потенциально) быть объектом, не производным от System.Exception.

Я не совсем понимаю, что вы имеете в виду, когда говорите, что не можете выбрать System.Exception в качестве типа исключения для перехвата. Вы наверняка можете сделать это, и я делал это несколько раз в прошлом. Черт, только что попробовал еще раз, и он там.

Вы получаете какие-либо ошибки? Разве это не появляется в диалоге выбора типа?

2 голосов
/ 27 сентября 2012

Разница между этими двумя методами заключается в том, что один дает вам указатель на объект исключения, а другой - нет. Вам следует выбрать «Общее исключение», если вам не нужна информация, содержащаяся в объекте «Исключение». В противном случае вы можете выбрать класс System.Exception из mscorlib.

1 голос
/ 23 декабря 2010

Мой друг, вы можете выбрать тип исключения "System.Exception", просто нажмите сборку "mscorlib" на левой панели, затем нажмите на пространство имен "System", справа появятся (в алфавитном порядке) имена классов mscorlib, прокрутите вниз и вы увидите «System.Exception».

Надеюсь, это поможет вам ...

Привет

0 голосов
/ 18 августа 2017

Для общего исключения: в случае C# это ведет себя как catch{}

Вы можете использовать его, если вы не хотите проверять объект исключения или просто хотите повторно вызвать исключение.

System.Exception: behaves like catch(exception ex){}

Все C# исключения наследуются от этого класса исключений. Он не перехватывает все исключения в контексте biztalk.

Пожалуйста, посмотрите на скриншоты для справки.

Снимок экрана 1

Скриншот 2

0 голосов
/ 30 мая 2012

Я столкнулся с той же проблемой с другим выбором в окне свойств в оркестровке. Кажется, это ошибка в Visual Studios. При попытке выбрать сборку .NET я получаю сообщение об ошибке « свойство недопустимо ». Я должен снова закрыть и открыть VS, и сообщение, кажется, исчезает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...