Información sobre los errores y advertencias de las herramientas de geoprocesamiento

Las herramientas de geoprocesamiento devuelven errores y advertencias de geoprocesamiento con un código de seis dígitos y un mensaje de texto. Cada error y advertencia tiene una página de descripción correspondiente en el sistema de ayuda del escritorio. Esta página contiene tanto una descripción detallada del error como posibles soluciones para el error. En los cuadros de diálogo de herramientas, la ventana Python y la ventana Resultados, el código de ID es un vínculo que, al hacer clic en él, lleva a una página de descripción.

Errores internos y archivos de registro del historial

Cuando una herramienta genera un error, se muestra un código de error estándar y un mensaje. En algunos casos, puede haber errores internos del sistema que acompañen al código de error estándar. Estos errores internos del sistema no se suelen proporcionar como parte del mensaje del error estándar, puesto que tienden a proporcionar la ayuda mínima para entender el problema. Sin embargo, en ciertos casos, estos mensajes pueden proporcionar pistas adicionales para corregir y tratar la causa del error.

Para ver errores internos del sistema, primero debe habilitar el registro de mensajes. En la pestaña Proyecto, en el panel Opciones, haga clic en Geoprocesamiento y, a continuación, active Escribir las operaciones de geoprocesamiento en el archivo de registro XML. Para obtener más información sobre la activación del archivo de registro, consulte Escribir las operaciones de geoprocesamiento en el archivo de registro XML.

Escribir errores y advertencias estándar en scripts y herramientas de script

En Python, puede escribir sus propios errores y advertencias personalizados mediante las funciones AddWarning y AddError. No obstante, también puede escribir cualquier error o mensaje de advertencia estándar utilizando la función AddIDMessage. Escribiendo un error o advertencia estándar, se libera de proporcionar su propia documentación: los usuarios de sus scripts pueden leer las descripciones de error y las soluciones que se encuentran en la ayuda del escritorio.

Para escribir un error o advertencia estándar, primero debe conocer el código de seis dígitos. Esto requerirá alguna investigación por su parte; tendrá que buscar en las descripciones que aparecen en la ayuda del escritorio para encontrar el código de seis dígitos correcto. Cuando ha identificado un código adecuado, anote la información adicional que necesite incluir en el mensaje, conocida habitualmente como <valor>. Por ejemplo, codifique 12 como "<valor> ya existe." En este caso, necesitará proporcionar un valor (es decir, el nombre del dataset) al parámetro {agregar_argumento1} de AddIDMessage().

El siguiente ejemplo de Python comprueba si se ha proporcionado una clase de entidad como entrada y, si no es así, utiliza AddIDMessage () para devolver el código 12 (000012: <valor> ya existe). El argumento opcional se utiliza para insertar el nombre de la clase de entidad en el mensaje.

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