2009-06-08 26 views
5

Mam BizTalk (2006 R2) z zakresu „Catch Exception” części, w której mam umieścić prosty kształt wyrażeń do przechowywania wiadomości wyjątek w zmiennej orkiestracji.BizTalk zakres „Catch Exception” wiadomość Ogólne Wyjątek

Problem polega na tym, że jeśli mam wybrać typ wyjątku za „ogólne Exception” to ja nie dostać się do dostarczenia nazwę obiektu wyjątku. Gdzie mogę pobrać informacje o wyjątku w tej sytuacji?

Wtedy myślałem, że po prostu wybrać typ wyjątku jako System.Exception ale nie jest to możliwe. Mogę tylko wybrać bardziej specyficzne typy wyjątków .NET.

Czy robię to źle, czy tak działa BizTalk?

Odpowiedz

8

Pomyśl o złapanie „Generic Exception” jako odpowiednik robi „catch {}” blok w C# bez wyjątku deklarowanej. Tak, tak, nie ma sposobu, aby uzyskać komunikat wyjątku w tym momencie, ponieważ wyjątek, który się pojawia może (potencjalnie) być obiektem nie pochodzącym z System.Exception.

Nie jestem pewien co masz na myśli, chociaż, kiedy mówisz, że nie można wybrać System.Exception jako typ wyjątku do połowu. Z pewnością możesz to zrobić i robiłem to już kilka razy w przeszłości. Heck, po prostu wypróbowałem to jeszcze raz i już tam jest.

Czy otrzymujesz jakieś błędy? Czy nie pojawia się w oknie dialogowym wyboru typu?

+0

Masz rację.Znalazłem wyjątek System.Exception. Właśnie zorientowałem się, jak działa dialog wyboru. – lox

+0

Każdy wyjątek w .NET pochodzi z System.Exception. – Slugart

1

Moi znajomi możecie wybrać wyjątek typu "System.Exception", wystarczy kliknąć "mscorlib" na lewym panelu, następnie kliknąć przestrzeń nazw "System", po prawej stronie pojawi się (uporządkowane alfabetycznie) nazwy klas mscorlib, scroll w dół, a zobaczysz "System.Exception".

Mam nadzieję, że pomaga ...

Pozdrowienia

0

ja wpadłem na ten sam problem z innymi wyboru w oknie właściwości w orkiestracji. Wygląda na to, że jest to błąd w Visual Studio. Podczas próby wybrania zestawu .NET pojawia się błąd z informacją, że "właściwość nie jest poprawna". Muszę zamknąć i otworzyć VS ponownie, a wiadomość wydaje się odejść.

2

Różnica między tymi dwoma metodami polega na tym, że jeden daje uchwyt do obiektu wyjątku, a drugi nie. Powinieneś wybrać "Ogólny wyjątek", gdy nie potrzebujesz informacji zawartych w obiekcie Exception. W przeciwnym razie możesz wybrać klasę System.Exception z mscorlib.

0

dla ogółu Wyjątek: W przypadku C#, to zachowuje się jak catch{}

Można go używać, gdy nie chcesz, by sprawdzić obiekt wyjątku lub po prostu chcesz, aby ponownie rzucać wyjątek.

Wszystkie wyjątki C# dziedziczą z tej klasy wyjątku. Nie przechwytuje wszystkich wyjątków w kontekście biztalk.

Proszę spojrzeć na zrzuty ekranu w celach informacyjnych.

Screenshot 1

Screenshot 2

+0

ta odpowiedź nie wyjaśnia niczego, czego nie uwzględniono w innych odpowiedziach ... –