Tengo un script de Python para ArcGIS en el que estoy trabajando, y me gustaría tener la capacidad de cerrar el script si no tiene los datos necesarios disponibles. Probé un sys.exit () directo, pero eso daría una excepción en ArcMap que me gustaría evitar. Encontré este hilo que sugiere usar un bloque try, así que hice esta función:
def quit_script(message):
log_msg(message) # already defined; writes a message to a file
if log_loc:
output.close() # close the file used with log_msg()
try:
sys.exit()
except SystemExit:
pass
Desafortunadamente, eso tampoco funcionó. Bueno, ya no comete ese error en ArcMap, pero tampoco lo hace, bueno, se cierra. En este momento, tengo la mayor parte de mi código en una declaración if / else, pero eso es feo. Alguien tiene alguna otra sugerencia?
¡Gracias! Brian
arcgis-10.0
python
Brian Buell
fuente
fuente
Respuestas:
No, el bloque try / except que querrás tiene el 'catch' para obtener tu llamada de salida; así que en tu intento harías algo como esto:
Esto se archivará si su declaración 'if' falla.
fuente