Ursachen von Ausnahmen
Ausnahmen können innerhalb einer Orchestrierung folgendermaßen generiert werden:
Durch eine Throw Exception-Form , die eine Ausnahme sofort und bedingungslos auslöst. Das Steuerelement übergibt das Shape "Ausnahme auslösen " direkt an den entsprechenden Ausnahmehandler.
Durch das Erreichen eines Zeitlimits in einer lang ausgeführten Transaktion. In diesem Fall wird eine vordefinierte Systemausnahme ausgelöst– Microsoft.XLANG.BaseTypes.TimeOutException.
Durch einen anderen Transaktionsfehler. Bei diesen Fehlern löst die Runtime-Engine eine systemdefinierte Nachricht aus, wie z. B. Microsoft.XLANG.BaseTypes.PersistenceException.
Durch eine Ausnahme im Benutzercode. Wenn innerhalb einer Orchestrierung externer Benutzercode aufgerufen wird, können Ausnahmen von den aufgerufenen Common Language Runtime-Klassen ausgelöst werden. Wenn diese Ausnahmen nicht im Benutzercode behandelt werden, werden sie letztendlich nach oben in den Bereich weitergegeben, von dem aus der Benutzercode aufgerufen wurde.
Durch eine andere Systemausnahme (z. B. einen Speicherfehler, eine andere .NET- oder Systemausnahme, wie eine Typladeprogrammausnahme oder einen Datenkonvertierungsfehler).
Hinweis
Wenn eine Typladeprogramm-Ausnahme ausgelöst wird, wird die Ausnahme möglicherweise nicht im Block Catch Exception in derselben Bereichsform abgefangen. Dies liegt daran, dass die Ausnahme vom Typladeprogramm ausgelöst wird, nicht vom BizTalk-Orchestrierungsprozess. Sie folgt daher nicht den BizTalk-Regeln für die Ablaufsteuerung.
Durch eine gleichgeordnete Verzweigung in einem umgebenden Bereich, der die Ausführung anhält. In diesem Fall wird die Ausnahme Microsoft.XLANG.BaseTypes.ForcedTerminationException für jede Verzweigung ausgelöst. Sie können jeder Verzweigung einen Ausnahmehandler hinzufügen. Ein solcher Ausnahmehandler kann seine Ausnahme nicht erneut auslösen und sollte auch keine Ausnahme eines anderen Typs auslösen.
Durch den Empfang einer externen Nachricht, die auf einen Fehler hinweist.