J'ai un script Python pour ArcGIS sur lequel je travaille, et j'aimerais pouvoir quitter le script s'il ne dispose pas des données nécessaires. J'ai essayé directement sys.exit () mais cela donnerait une exception dans ArcMap que j'aimerais éviter. J'ai trouvé ce fil qui suggère d'utiliser un bloc try, j'ai donc fait cette fonction:
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
Malheureusement, cela n'a pas fonctionné non plus. Eh bien, cela ne fait plus cette erreur sur ArcMap, mais il ne s'arrête pas non plus. En ce moment, j'ai la majeure partie de mon code dans une instruction if / else, mais c'est moche. Quelqu'un a d'autres suggestions?
Merci! Brian
arcgis-10.0
python
Brian Buell
la source
la source
Réponses:
Non, le bloc try / except que vous voudrez avoir le «catch» reçoit votre appel de sortie; donc dans votre essai, vous feriez quelque chose comme ceci:
Ce fichier sera déposé si votre instruction «if» échoue.
la source