StopIteration関連のないコードから例外がスローされないようにする方法はありますか (手動でキャッチする必要はありません)。
例:イテレータをループして、このイテレータが終了したら先にloop_all進みたいとします。または他のコードが を発生させmyiterない限り、これは機能します。some_dangerous_methodmyiterStopIteration
def loop_all():
myiter = myiter()
try:
while True:
next(myiter) # <- I want exactly the StopIteration from this next method
except StopIteration:
pass
def myiter():
some_dangerous_method() # what if this also raises a StopIteration?
for i in some_other_iter():
# here may be more code
yield
StopIterationコードが反応する対象を明確にする方法はありますか?