सभी दस्तावेज़ बता हमें है,Python में कीबोर्ड इंटरप्ट कब उठाया गया है?
उठाया है जब उपयोगकर्ता बाधा कुंजी (सामान्य रूप से
Control-C
याDelete
) पूरी करता है। निष्पादन के दौरान, इंटरप्ट के लिए नियमित रूप से जांच की जाती है।
लेकिन कोड के बिंदु से , मुझे यह अपवाद कब दिखाई दे सकता है? क्या यह कथन निष्पादन के दौरान होता है? केवल बयानों के बीच? क्या यह अभिव्यक्ति के बीच में हो सकता है?
उदाहरण के लिए:
file_ = open('foo')
# <-- can a KeyboardInterrupt be raised here, after the successful
# completion of open but prior to the try? -->
try:
# try some things with file_
finally:
# cleanup
विल एक अच्छी तरह से समय समाप्त हो गया KeyboardInterrupt
के दौरान इस कोड रिसाव? या यह कुछ बयानों या अभिव्यक्तियों के निष्पादन के दौरान उठाया गया है?
दुर्भाग्य से, 'साथ' हमेशा संभव नहीं होता है; कभी-कभी आप देखना चाहते हैं कि '__enter__' को कॉल करने से पहले क्या कथन में अभिव्यक्ति विफल हो जाती है (उदा।, क्या यह एक विशेष विस्तार बढ़ाता है?)। आप इसे 'साथ' के साथ नहीं कर सकते हैं, क्योंकि आप 'साथ' के शरीर को लपेटे बिना अभिव्यक्ति को लपेटने की क्षमता खो देते हैं। (जो, यदि यह अभिव्यक्ति के समान प्रकार के अपवाद को बढ़ा सकता है, तो इसका मतलब है कि आप उन्हें 'छोड़कर' में अलग नहीं कर सकते हैं।) – Thanatos