मेरे पास आर्कजीआईएस 10.0 के लिए एक आर्कपी टूल स्क्रिप्ट है जिसमें दो प्रमुख कार्यात्मक खंड हैं। उपयोगकर्ता दूसरे खंड को चलाने के लिए चुन सकता है या नहीं। यदि उपयोगकर्ता दूसरे खंड को चलाने के लिए नहीं चुनता है, तो मैं केवल एक सफाई कार्य चलाना चाहता हूं और उपकरण परिणाम विंडो में एक त्रुटि संदेश पोस्ट किए बिना sys.exit (0) के साथ स्क्रिप्ट से बाहर निकलना चाहता हूं । जीएसआई-एसई में यहां दो प्रमुख सूत्र हैं, जो आर्कपी स्क्रिप्ट से बाहर निकलने के बारे में हैं, लेकिन इसमें समाधान विशेष रूप से त्रुटि संदेश को संबोधित नहीं करते हैं। कोड की सामान्य संरचना इस प्रकार है:
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()
अगर मैं आर्कगिस / आर्कपी के बाहर पायथन दुभाषिया में इस कोड को चलाता हूं, तो यह काम करता है जैसा कि मैं अपेक्षा करता हूं, बिना किसी त्रुटि संदेश के इनायत से बाहर निकलना; हालाँकि, मेरी आर्कपी स्क्रिप्ट में इसी संरचना के साथ, स्क्रिप्ट से बाहर निकलता है, लेकिन टूल परिणाम विंडो में एक SystemExit त्रुटि संदेश पोस्ट किया जाता है। वहाँ एक तरीका है चापलूसी उपकरण स्क्रिप्ट अपवाद खाने और SystemExit त्रुटि संदेश दफनाने के लिए है?