Try/Catch Ausnahmen
Die Try/Catch Ausnahmen-Aktion besteht aus zwei Teilen (in der Abbildung unten markiert):
•Try: Definiert eine Bedingung oder eine Aktion, die überprüft werden soll.
oEine Bedingung wird im XPath-Ausdruck einer Throw-Aktion definiert. (Ein Beispiel zur Verwendung der Throw-Aktion finden Sie im Tutorial "Freigeben von Standortdaten".)
oWenn eine Aktion definiert ist (wie z.B. die Aktion "REST Request ausführen" in der Abbildung unten) und bei der Ausführung der Aktion ein Fehler auftritt, haben Sie die Wahl zwischen folgenden Optionen: (i) Abbrechen der Aktion; (ii) den Fehler ignorieren und fortfahren oder (iii) eine Ausnahme auslösen, die in der Variablen der Try/Catch-Aktion gespeichert wird. Dies ist die Option Throw. (Auch wenn Sie sich entschließen fortzufahren (zweite Option), können Sie mit Hilfe der Throw-Aktion dennoch einen Fehler auslösen.)
oSowohl eine für eine Bedingung definierte Throw-Aktion als auch eine für eine Aktion definierte Throw-Option löst eine Ausnahme aus, die in der Variablen der Try/Catch-Aktion gespeichert wird.
•Catch: Definiert die Aktionen, die ausgeführt werden sollen, wenn eine Ausnahme ausgelöst wird (und zwar nur dann) (siehe Beschreibung der Abbildung unten). Wenn keine Catch-Aktion definiert ist, so wird die Aktion, die auf die Try/Catch-Aktion folgt, verarbeitet.
Anmerkung: Ausnahmen können auf zwei Arten ausgelöst werden: über eine (für eine Bedingung definierte) Throw-Aktion und über eine (für eine Aktion definierte) Throw-Option.
Anmerkung: Wenn eine Ausnahme ausgelöst wird, wird Sie in der Variablen der Try/Catch-Aktion gespeichert und der Catch-Teil wird ausgeführt.
Anmerkung: Wenn im Try-Teil der Aktion (durch die Throw-Aktion/Option) keine Ausnahme ausgelöst wird, so wird der Catch-Teil nicht ausgeführt.
Anmerkung: | Wenn eine Variable ein Nodeset enthält und das Nodeset während der Verarbeitung geändert wird, wird die Variable ungültig und kann nicht mehr weiterverwendet werden. Dies gilt jedoch nicht, wenn nur die Werte der Variablen in einem Nodeset geändert wurden. |
In der in der Abbildung oben gezeigten Try/Catch-Aktion haben wir Folgendes definiert:
1.Wir haben der Try/Catch-Variablen (durch Doppelklick auf die Stelle rechts vom $-Symbol und Eingabe des Namens) den Namen $SomeVar gegeben.
2.Wir haben im Try-Teil der Aktion die Aktion REST Request ausführen definiert.
3.Wir haben im Try-Teil der Aktion die Option Throw für die Unteraktion Bei Fehler der Aktion REST Request ausführen ausgewählt und die Ausnahmemeldung als XPath-Ausdruck der Option eingegeben. Als Ergebnis wird bei Auftreten eines Fehlers eine Ausnahme ausgelöst und die Ausnahmemeldung in der Variablen $SomeVar gespeichert.
4.Im Catch-Teil der Aktion haben wir eine Meldungsfeld-Aktion definiert, die die in der Variablen $SomeVar gespeicherte Meldung anzeigt.
Anmerkung: | Neben der oben beschriebenen Throw-Option steht auch eine Throw-Aktion zur Verfügung. Anstatt die Throw-Option der Unteraktion Bei Fehler zu verwenden (wie in Schritt 2 oben beschrieben), könnten Sie auch die Option Weiter verwenden und eine Throw-Aktion in die Unteraktion Bei Fehler der Option Weiter einfügen. |
Im Tutorial Freigeben von Standortdaten wird erklärt, wie Sie die Aktionen Try/Catch und Throw verwenden können.
MobileTogether-Erweiterungsfunktionen
MobileTogether enthält eine Reihe von XPath-Erweiterungsfunktionen, die speziell für die Verwendung in MobileTogether-Designs erstellt wurden. Einige davon können bei bestimmten Aktionen sehr nützlich sein. So erhalten Sie etwa mit mt-available-languages() die Sprachen, in denen die Lösung zur Verfügung steht. Diese Funktion könnte z.B. mit der Aktion Meldungsfeld verwendet werden. Wenn eine Funktion für diese Aktion besonders relevant ist, ist sie unten aufgelistet. Eine vollständige Liste aller Erweiterungsfunktionen und mit Beschreibungen finden Sie im Kapitel MobileTogether-Erweiterungsfunktionen.