Junior — Middle
What is the purpose of the throw statement in a generator?
sobes.tech AI
Answer from AI
In Python generators, the throw() method is used to send an exception into the generator at the point where it is paused (where yield is). This allows external code to initiate an error inside the generator, which it can handle or propagate further.
Example usage:
def gen():
try:
yield 1
except ValueError:
yield 'ValueError handled'
g = gen()
print(next(g)) # Outputs 1
print(g.throw(ValueError)) # An exception ValueError is sent into the generator, which is caught
Thus, throw() extends the control capabilities of the generator, allowing not only to receive values but also to influence its behavior through exceptions.