Entender los errores y advertencias de la herramienta de geoprocesamiento
Los errores y advertencias de geoprocesamiento provienen de las herramientas de geoprocesamiento con un código de seis dígitos y están dotadas de un mensaje de texto. Todos los errores y advertencias tienen una página (en el sistema de ayuda del escritorio) en la que se ofrece una descripción de cada uno de ellos. Esta página contiene una descripción detallada del error y sus posibles soluciones. En los cuadros de diálogo de la herramienta, la ventana de Python y la ventana Resultados, el código de ID es un enlace que, cuando se hace clic en el mismo, le lleva a la página de descripción.
Errores internos y archivos del registro del historial
Cuando una herramienta genera un error, se muestra un mensaje y un código de error estándar. En algunos casos, varios errores internos del sistema podrían acompañar al código de error estándar. Estos errores internos del sistema no suelen facilitarse como parte del mensaje estándar de error, ya que tienden a proporcionar la mínima ayuda a la hora de entender un problema. No obstante, en ciertos casos, estos mensajes pueden proporcionar pistas adicionales que ayudarán a corregir y solucionar la causa del error.
Para ver los errores internos del sistema, primero deberá habilitar la función de mensajes. Haga clic en Geoprocesamiento > Opciones de geoprocesamiento y marque la casilla Registro de operaciones de geoprocesamiento para registrar un archivo. Para obtener más información sobre cómo activar el archivo de registro y leerlo, consulte Archivos del registro del historial.
Escribir errores y advertencias estándar en secuencias de comandos y herramientas de secuencias de comandos
Python le permitirá escribir su propios errores y advertencias de forma personalizada utilizando las funciones AddWarning y AddError. También podrá escribir cualquier mensaje de error o advertencia estándar utilizando la función AddIDMessage Al escribir un error o advertencia estándar, usted deja de tener la obligación de facilitar su propia documentación; los usuarios de sus secuencias de comandos podrán leer las descripciones de los errores y las soluciones detalladas en la ayuda del escritorio.
Para escribir un error o advertencia estándar, primero deberá conocer el código de seis dígitos. Esto requerirá que investigue por su parte; deberá encontrar las descripciones almacenadas en el escritorio con el fin de conocer el código de seis dígitos. Una vez haya identificado un código apropiado, tome nota de cualquier información adicional que necesite incluirse en el mensaje, la cual suele venir referenciada como <valor> Por ejemplo, el código 12 es "el <valor> ya existe." En este caso, deberá proporcionar un valor (es decir, el nombre del dataset) al parámetro {add_argument1} 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 sustituir el nombre de la clase de entidad en el mensaje.
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))