Exceptions Try/Catch
L'action Exception Try/Catch a deux parties (marquées dans la capture d'écran ci-dessous):
•Try: définit une condition ou une action à essayer.
oUne condition est définie dans l'expression XPath d'une action Throw. (Voir le tutoriel Partager les géolocalisations pour voir un exemple de l'utilisation de l’action Throw.)
oSi une action est définie (comme l'action Exécuter requête REST dans la capture d'écran ci-dessous) et qu'une erreur est détectée lors de l'exécution de l'action, vous pouvez choisir parmi les options suivantes : (i) abandonner l'action; (ii) ignorer l'erreur et de continuer ; ou (iii) lancer une exception stockée dans la variable d'action Try/Catch : il s'agit de l'optionThrow . (Même si vous choisissez de continuer (la deuxième option), vous pouvez toujours lancer une erreur en utilisant l'action Throw.
oAussi bien l'action Throw (définie pour une condition) ou l'option Throw (définie pour une action) lanceront toutes deux une exception qui est stockée dans la variable de l'action Try/Catch).
•Catch : définit des actions à exécuter si, et uniquement si, une exception est lancée (voir la description de la capture d'écran ci-dessous). Si aucune action Catch n'a été définie, l'action qui suit l'action Try/Catch est traitée.
Note : | Les exceptions peuvent être lancées de deux manières : par le biais d'une action Throw (définies pour une condition) et par le biais d'une option Throw (définie pour une action). |
Note : | Si une exception est lancée, elle est stockée dans la variable de l'action Try/Catch et la partie Catch sera exécutée. |
Note : | Si aucune exception n'est lancée dans la partie Try de l'action (par l'action/option Throw), alors la partie Catch ne sera pas exécutée. |
Note : | Si une variable contient un jeu de nœud et que celui-ci est modifié pendant le traitement, la variable sera invalidée et ne pourra pas être utilisée par la suite. Néanmoins, cela ne s’applique pas si seules les valeurs des variables dans un ensemble de nœud ont été modifiées. |
Dans l'action Try/Catch affichée dans la capture d'écran ci-dessus, nous avons procédé comme suit :
1.Nous avons donné à la variable Try/Catch un nom de $SomeVar (en double-cliquant à la droite du symbole $ et en saisissant le nom).
2.Dans la partie Try de l'action, nous avons défini la requête Exécuter REST.
3.Dans la partie Try de l'action, nous avons sélectionné l'option Throw pour la sous-action Sur erreur de la requête Exécuter REST, et avons saisi un message d'exception en tant que l'expression XPath de l'option. Par conséquence, si une erreur est détectée, une exception est lancée et le message d'exception est stocké dans la variable $SomeVar.
4.Dans la partie Catch de l'action, nous avons défini une action de Fenêtre de message pour afficher le message stocké dans la variable $SomeVar.
Note : | Outre l'option Throw décrite ci-dessus, une action Throw est également disponible. Au lieu d'utiliser l'option Throw de la sous-action Sur erreur (tel que décrit dans l'étape 2 ci-dessus), vous pouvez utiliser l'option Continuer et insérer une action Throw dans cette sous-action Sur erreur de l'option Continue. |
Le tutoriel Partager les géolocalisations montre comment utiliser les actions Try/Catch et Throw.
Fonctions d'extension de MobileTogether
MobileTogether fournit une série de fonctions d'extension XPath qui ont été créées spécifiquement pour l'utilisation dans les designs MobileTogether. Quelques fonctions peuvent être particulièrement utiles avec des actions spécifiques. Par exemple, mt-available -languages() renvoie les langues dans lesquelles la solution est disponible et pourrait, par exemple, être utilisée avec l'action Boîte de messages. Si une fonction est particulièrement pertinente pour cette action, elle se trouvera dans la liste ci-dessous. Pour une liste complète de ces fonctions d'extension et leurs descriptions, voir la page <Fonctions d'extension MobileTogether.