Così ho una classe con due metodi in esso:catturato "RuntimeError" dà sempre `python 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())
e uscite:
... forever
None
10
cosa succede? Perché posso tornare da uno tranne e non dall'altro? Posso stampare normalmente dal primo ad eccezione, ma restituisce sempre None
Hum, ho appena provato a mettere il 'return 10' fuori da' except RuntimeError as e: '. E sta funzionando. –