ciao lista! ho una domanda sui generatori Mi farebbe molto comodo usare la possibilità di mandare una eccezione ad un generatore: ma mi trovo con un comportamento imprevisto Qui sotto trovate un frammento di codice che riproduce una sorta di "caso minimo" di quella che mi sembra una anomalia Se avete voglia di provarlo credo che il codice sia più o meno autoesplicativo. Quello che mi lascia perplesso è: perché il generatore, dopo aver gestito l'eccezione, non riparte dal restituire il valore "A"?
---><--- begin test_gen.py ---><--- def gen(): while True: try: yield "A" yield "B" yield "C" except Exception as ex: print("catched exception", ex) g = gen() you_can_specify_any_number_of_steps = 3 for idx in range(you_can_specify_any_number_of_steps): print("result:", g.send(None)) print("throw...") g.throw(Exception("BOOM")) print("result:", g.send(None), "*** I was expecting A and I get B, why?!? ***") print("result:", g.send(None)) ---><--- end test_gen.py ---><---
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python