Présentation des erreurs et avertissements des outils de géotraitement

Les erreurs et avertissements de géotraitement, renvoyés par les outils de géotraitement, prennent la forme d’un code à six chiffres et d’un message textuel. Chaque erreur et avertissement a une page de description correspondante dans le système d’aide intégrée. Cette page contient à la fois une description détaillée de l’erreur et les moyens de la résoudre. Dans les boîtes de dialogue des outils, la fenêtre Python et la fenêtre Results (Résultats), le code ID est un lien sur lequel vous pouvez cliquer pour accéder à une page de description.

Erreurs internes et fichiers journaux d’historique

Lorsqu’un outil génère une erreur, un code d’erreur et un message standard sont affichés. Dans certains cas, le code d’erreur standard est accompagné d’erreurs système internes. Celles-ci ne font généralement pas partie du message d’erreur standard, car elles n’apportent que peu d’éclairage sur le problème. Toutefois, dans certains cas, ces messages peuvent vous aider à corriger la cause de l’erreur.

Pour afficher les erreurs système internes (le cas échéant), vous devez d’abord activer la journalisation des messages. Cliquez sur l’onglet Project (Projet), dans la fenêtre Options, cliquez sur Geoprocessing (Géotraitement), puis cochez la case Write geoprocessing operations to XML log file (Consigner les opérations de géotraitement dans un fichier journal XML). Pour plus d’informations sur l’activation du fichier journal, reportez-vous à la rubrique Consigner les opérations de géotraitement dans un fichier journal XML.

Écriture d’erreurs et d’avertissements standard dans des scripts et des outils de script

Dans Python, vous avez la possibilité de personnaliser le texte des erreurs et avertissements à l’aide des fonctions AddWarning et AddError. Mais vous pouvez également écrire les erreurs ou messages d’avertissement standard à l’aide de la fonction AddIDMessage. Vous n’aurez pas ainsi à fournir votre propre documentation. Les utilisateurs de vos scripts peuvent prendre connaissance des descriptions des erreurs et des solutions indiquées dans l’aide intégrée.

Pour écrire une erreur ou un avertissement standard, vous devez d’abord connaître le code à six chiffres. Cela exige du travail de recherche de votre part. Vous devrez, en effet, rechercher les descriptions figurant dans l’aide intégrée pour déterminer le code à six chiffres correct. Après avoir identifié un code approprié, notez toute information complémentaire à inclure dans le message, référencée en général sous la forme <valeur>. Par exemple, le code 12 correspond à « <valeur> existe déjà ». Dans ce cas, vous devrez fournir une valeur (c’est-à-dire le nom du jeu de données) au paramètre {add_argument1} de AddIDMessage().

L’exemple de script Python ci-après vérifie si une classe d’entités a été fournie comme entrée. Si ce n’est pas le cas, il utilise AddIDMessage() pour renvoyer le code 12 (000012: <valeur> existe déjà). L’argument facultatif sert à remplacer le nom de la classe d’entités dans le message.

class overwriteError(Exception):
    pass

import arcpy

inFeatureClass  = arcpy.GetParameterAsText(0)
outFeatureClass = arcpy.GetParameterAsText(1)

try:
    # If the output feature class already exists, raise an error
    if arcpy.Exists(inFeatureClass):
        raise overwriteError(outFeatureClass)
    else:
        # Additional processing steps

except overwriteError as e:
    # Use message ID 12, and provide the output feature class
    #    to complete the message.
    arcpy.AddIDMessage("Error", 12, str(e))