ArcGIS 10.0에 대한 두 가지 주요 기능 섹션이있는 arcpy 도구 스크립트가 있습니다. 사용자는 두 번째 섹션을 실행할지 여부를 선택할 수 있습니다. 사용자가 두 번째 섹션을 실행하지 않기로 선택한 경우 도구 결과 창에 오류 메시지가 표시되지 않고 정리 기능을 실행하고 sys.exit (0)으로 스크립트를 종료 하려고합니다. GIS-SE에는 arcpy 스크립트 종료에 관한 두 가지 주요 스레드가 있지만 그 해결책은 오류 메시지를 구체적으로 다루지 않습니다. 코드의 일반적인 구조는 다음과 같습니다.
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()
ArcGIS / arcpy 외부의 Python 인터프리터에서이 코드를 실행하면 예상대로 작동하며 오류 메시지없이 정상적으로 종료됩니다. 그러나이 동일한 구조의 arcpy 스크립트에서는 스크립트가 종료되지만 SystemExit 오류 메시지가 도구 결과 창에 게시됩니다. arcpy 도구 스크립트가 예외를 먹고 SystemExit 오류 메시지를 묻는 방법이 있습니까?