तो मैं उस में दो तरीकों के साथ एक वर्ग है:रिटर्निंग हमेशा `None` अजगर देता
class Test:
def cycle(self, n=float("inf"), block="x"):
try:
self.cycle(n-1, block)
except RuntimeError as e:
if str(e) == "maximum recursion depth exceeded":
print("... forever")
return 10
def f(self):
try:
raise Exception()
except:
return 10
return 20
x = Test()
print(x.cycle())
print(x.f())
और यह आउटपुट:
... forever
None
10
क्या देता है? मैं एक से क्यों लौट सकता हूं और दूसरे को नहीं? मैं सामान्य रूप से पहले से ही प्रिंट कर सकता हूं, लेकिन यह हमेशा None
हम, मैं सिर्फ ''10 से बाहर' वापसी की कोशिश करता हूं, जबकि रनटाइम त्रुटि को ई:' के रूप में छोड़कर। और यह काम कर रहा है। –