Skip to content
Snippets Groups Projects
Select Git revision
  • c2074e7b66a042492604fbf9ea80b71cdf848e93
  • wip-bootstrap default
  • dualcore
  • ch3/leds
  • ch3/time
  • master
6 results

makeimg.py

Blame
  • gen_yield_from_throw.py 578 B
    def gen():
        try:
            yield 1
        except ValueError:
            print("got ValueError from upstream!")
        yield "str1"
        raise TypeError
    
    def gen2():
        print((yield from gen()))
    
    g = gen2()
    print(next(g))
    print(g.throw(ValueError))
    try:
        print(next(g))
    except TypeError:
        print("got TypeError from downstream!")
    
    # case where generator doesn't intercept the thrown/injected exception
    def gen3():
        yield 123
        yield 456
            
    g3 = gen3()
    print(next(g3))
    try:
        g3.throw(StopIteration)
    except StopIteration:
        print('got StopIteration from downstream!')