Saya punya skrip Python untuk ArcGIS yang sedang saya kerjakan, dan saya ingin memiliki kemampuan untuk membuat skrip berhenti jika tidak memiliki data yang diperlukan tersedia. Saya mencoba sys.exit () langsung tetapi itu akan memberikan pengecualian di ArcMap yang ingin saya hindari. Saya menemukan utas ini yang menyarankan menggunakan blok percobaan, jadi saya membuat fungsi ini:
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
Sayangnya, itu juga tidak berhasil. Yah, itu tidak membuat kesalahan pada ArcMap lagi, tetapi juga tidak, well, berhenti. Saat ini, saya memiliki sebagian besar kode saya dalam pernyataan if / else, tapi itu jelek. Adakah yang punya saran lain?
Terima kasih! Brian
arcgis-10.0
python
Brian Buell
sumber
sumber
Jawaban:
Tidak, coba / kecuali blok yang Anda inginkan memiliki 'menangkap' mendapatkan panggilan keluar Anda; jadi dalam percobaan Anda, Anda akan melakukan sesuatu seperti ini:
Ini akan mengajukan jika pernyataan 'jika' Anda gagal.
sumber