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

Les erreurs et avertissements de géotraitement sont retournés par les outils de géotraitement avec un code à six chiffres et un message textuel. Chaque erreur et avertissement dispose d'une page de description correspondante dans le système d'aide intégré. Cette page contient à la fois une description détaillée de l'erreur et les solutions possibles. Dans les boîtes de dialogue des outils, la fenêtre Python et la fenêtre Résultats, le code d'identifiant correspond à un lien dont la sélection affiche une page de description.

Erreurs internes et fichiers journaux d'historique

Lorsqu'un outil génère une erreur, un code et un message d'erreur standard sont affichés. Dans certains cas, des erreurs système internes peuvent accompagner le code d'erreur standard. Ces erreurs système internes ne sont pas habituellement fournies dans le cadre du message d'erreur standard car elles apportent peu d'éléments pour la compréhension du problème. Toutefois, dans certains cas, ces messages peuvent fournir des indices supplémentaires permettant de corriger et de gérer la cause de l'erreur.

Pour afficher toute erreur système interne éventuelle, vous devez au préalable activer la consignation des messages. Cliquez sur Géotraitement > Options de géotraitement et activez l'option Consigner les opérations de géotraitement dans un fichier journal. Pour plus d'informations sur l'activation et l'interprétation du fichier journal, reportez-vous à la rubrique Fichiers d'historique.

Ecriture des erreurs et des avertissements standard dans les scripts et les outils de script

Dans Python, vous avez la possibilité d'écrire vos propres erreurs et avertissements personnalisés à l'aide des fonctions AddWarning et AddError. En revanche, vous pouvez également écrire l'un des messages d'erreur ou d'avertissement standard à l'aide de la fonction AddIDMessage. Grâce à l'écriture d'une erreur ou d'un avertissement standard, vous n'avez pas à fournir de documentation propre : les utilisateurs de vos scripts peuvent lire les descriptions d'erreur et les solutions figurant dans l'aide intégrée.

Pour écrire une erreur ou un avertissement standard, vous devez connaître le code à six chiffres correspondant. Vous devez pour cela effectuer des recherches ; vous devrez parcourir les descriptions figurant dans l'aide intégrée pour trouver le bon code à six chiffres. Lorsque vous avez identifié un code approprié, notez toute information supplémentaire à inclure dans le message, habituellement référencée sous la forme <valeur>. Par exemple, le code 12 correspond à "<valeur> existe déjà". Dans ce cas, vous devez fournir une valeur (autrement dit, le nom du jeu de données) au paramètre {add_argument1} de la fonction AddIDMessage().

L'échantillon Python ci-dessous vérifie si une classe d'entités a été fournie en entrée et, si ce n'est pas le cas, utilise la fonction AddIDMessage() pour retourner le code 12 (000012: <valeur> existe déjà). L'argument facultatif permet de substituer le nom de la classe d'entités dans le message.

class overwriteError(Exception):
    pass

import arcpy
import sys

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))

7/10/2012