Utilisation d'un gestionnaire de message

Le comportement par défaut pour les erreurs de traitement et les autres messages pouvant survenir pendant la préparation et l'exécution consiste à les diriger vers la sortie system.err. Pour les erreurs non remédiables, une exception XProcessException est générée en plus. Si une erreur se produit pendant la préparation, le processeur tente de continuer cette préparation et signale toutes les erreurs avant de générer une exception XProcessException, mais il ne produit aucun exécutable. Pendant la phase d'exécution, l'exécution s'arrête dès la première erreur.

Procédure

Vous pouvez changer le mode de gestion des erreurs en enregistrant une implémentation de l'objet XMessageHandler dans le contexte statique (XStaticContext), pour les erreurs et les autres messages survenant pendant la préparation, ou dans le contexte dynamique (XDynamicContext), pour les erreurs et les autres messages survenant pendant l'exécution.
L'interface XMessageHandler contient une unique méthode de rapport qui utilise les paramètres suivants :
niveau
Ce paramètre demande l'une des expressions énumératives suivantes définies dans l'interface XMessageHandler :
INFO
L'erreur est signalée à titre d'information uniquement et n'a pas d'effet sur le résultat.

Ce paramètre sert également pour l'instruction XSLT message quand la valeur de l'attribut terminate est "no".

WARNING
Signale un avertissement.

Un avertissement n'affecte pas le processeur mais le résultat peut être différent de celui attendu.

ERREUR
Signale une erreur remédiable.

Le processeur peut passer outre cette erreur pour en signaler d'autres mais aucun résultat ne sera généré.

FATAL_ERROR
Signale une erreur non remédiable.

Le processeur est arrêté par ce type d'erreur. Ce paramètre sert également pour l'instruction XSLT message quand la valeur de l'attribut terminate est "yes".

TRACE
Indique que le message a été généré par un appel à la fonction XPath fn:trace.
message
Message d'erreur
location
Emplacement source d'un objet XSourceLocation, le cas échéant.

En général, l'emplacement source est indisponible pour les erreurs d'exécution.

cause
Exception à l'origine de l'erreur, le cas échéant.

Par exemple, si le document d'entrée est non valide, l'analyseur syntaxique XML génère une exception qui est communiquée à la méthode de rapport via ce paramètre.

errorItems
Eléments spécifiés pour le paramètre error-object dans la fonction XPath fn:error.

L'implémentation de l'objet XMessageHandler peut représenter les erreurs et les autres messages comme vous le souhaitez, par exemple les consigner dans un fichier journal au lieu de les diriger vers le fichier de sortie system.err. Elle peut aussi être plus stricte et arrêter la compilation ou l'exécution quelque soit l'erreur, même les erreurs remédiables, et générer une exception. Dans la mesure où la méthode de rapport n'a pas de clause throws, l'exception ne doit pas être contrôlée. L'implémentation peut aussi ignorer les messages d'information et d'avertissement. En somme, enregistrer un objet XMessageHandler vous permet de configurer la gestion des messages d'une manière adaptée à votre application.

Notez que dans le cas d'une erreur non remédiable, si le gestionnaire de message enregistré ne génère pas d'exception, le processeur déclenche une exception XProcessException.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_error_handler
Nom du fichier : txml_error_handler.html