आइए एक पुनरावृत्ति मान लें जिसमें हम एक फ़ंक्शन को रिटर्न वैल्यू के बिना कहते हैं। जिस तरह से मुझे लगता है कि मेरे कार्यक्रम को व्यवहार करना चाहिए उसे इस छद्मकोड में समझाया गया है:
for element in some_list:
foo(element)
def foo(element):
do something
if check is true:
do more (because check was succesful)
else:
return None
do much much more...
अगर मैं इसे अजगर में लागू करता हूं, तो यह मुझे परेशान करता है, कि यह फ़ंक्शन एक रिटर्न देता है None
। क्या "किसी फ़ंक्शन से बाहर निकलने के लिए एक बेहतर तरीका है, जिसका कोई वापसी मूल्य नहीं है, अगर कोई फ़ंक्शन फ़ंक्शन के शरीर में विफल रहता है"?
raise
अपवाद भी हो सकते हैं (या, बहुत कम ही, फ़ंक्शन को सही / गलत बनाते हैं)