0

どのネストされたジェネレーターが例外try/exceptを発生させているかをコードで判断する必要がある状況に遭遇しました。StopIterationどうすればいいのですか?以下はダミーの例です。

def genOne(iMax, jMax):
    i = 0;
    g2 = genTwo(jMax)
    while i <= iMax:
        print('genOne: ' + str(i))
        next(g2)
        yield
        i = i + 1

def genTwo(jMax):
    j = 0;
    while j <= jMax:
        print('genTwo: ' + str(j))
        yield
        j = j + 1

g1 = genOne(6, 3)        # The inputs are arbitrary numbers
try:
    while True:
        next(g1)    
except:  
    # Do some processing depending on who generates the StopIteration exception

ありがとう!

4

1 に答える 1