Eu tenho um script Python para o ArcGIS no qual estou trabalhando e gostaria de ter a capacidade de encerrar o script se ele não tiver os dados necessários disponíveis. Tentei um sys.exit () direto, mas isso daria uma exceção no ArcMap que eu gostaria de evitar. Eu encontrei este segmento que sugere o uso de um bloco try, então eu fiz esta função:
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
Infelizmente, isso também não funcionou. Bem, ele não comete mais esse erro no ArcMap, mas também não sai. No momento, tenho a maior parte do meu código em uma instrução if / else, mas isso é feio. Alguém tem outras sugestões?
Obrigado! Brian
arcgis-10.0
python
Brian Buell
fonte
fonte
Respostas:
Não, o bloco try / except que você deseja terá o 'catch' para receber sua chamada de saída; portanto, em sua tentativa, você faria algo assim:
Isso será arquivado se a instrução 'if' falhar.
fonte