Tengo un script de herramienta arcpy para ArcGIS 10.0 que tiene dos secciones funcionales principales. El usuario puede elegir si ejecutar o no la segunda sección. Si el usuario elige NO ejecutar la segunda sección, simplemente quiero ejecutar una función de limpieza y salir del script con un sys.exit (0) sin tener un mensaje de error publicado en la ventana de resultados de la herramienta. Hay dos hilos principales aquí en GIS-SE sobre la salida de scripts arcpy, pero las soluciones no abordan específicamente el mensaje de error. La estructura general del código es la siguiente:
import sys
##import arcpy
def CleanUp():
print 'Cleaning up ...\n'
def finish():
CleanUp()
print 'Exiting ...'
sys.exit(0)
do_more = False #or True ... input from user
#Section 1: do some stuff
print 'Doing some stuff ...\n'
if not do_more:
finish()
#Section 2: do more stuff
print 'doing more stuff ...'
CleanUp()
Si ejecuto este código en el intérprete de Python fuera de ArcGIS / arcpy, funciona como esperaba, saliendo con gracia sin mensaje de error; sin embargo, en mi script arcpy con esta misma estructura, el script se cierra, pero se publica un mensaje de error SystemExit en la ventana de resultados de la herramienta. ¿Hay alguna manera de hacer que el script de la herramienta arcpy coma la excepción y entierre el mensaje de error SystemExit?