Raising an error उस बिंदु पर पूरे कार्यक्रम रुकती है (जब तक अपवाद पकड़ा है), जबकि printing संदेश सिर्फ stdout
के लिए कुछ लिखते हैं - उत्पादन एक और उपकरण को पहुंचाया जा सकता है, या किसी से अपने आवेदन नहीं चल रहे हैं कमांड लाइन, और print
आउटपुट कभी नहीं देखा जा सकता है।
उदाहरण के लिए, क्या अपने कोड की तरह है अगर:
if size < 0:
print 'size must be non-negative'
else:
print size * 4
और मैं की तरह अपनी स्क्रिप्ट फोन:
yours.py number_source.txt | sum_all_lines.sh
यदि yours.py
संख्याओं के बीच सादा पाठ आउटपुट करता है, तो शायद मेरा sum_all_lines.sh
विफल हो जाएगा क्योंकि यह सभी संख्याओं की अपेक्षा कर रहा था। हालांकि, अगर yours.py
अपवाद के कारण छोड़ देता है, तो sum_all_lines.sh
समाप्त नहीं होगा, और यह स्पष्ट होगा कि राशि क्यों विफल रही।
बेशक, यह केवल एक उदाहरण है, और आपका विशेष मामला पूरी तरह से अलग हो सकता है।
स्रोत
2010-01-27 12:04:23
जब आपने इस कोड को आजमाया, तो आपने क्या अंतर देखा? –