Skip to content
Snippets Groups Projects
Select Git revision
  • e57d3da6fc539a2815c1e3a98edd112bdb58743f
  • master default protected
  • sonopard/display-pixels-drawimage
  • TilCreator/firmware-master
  • rahix/simple_menu
  • genofire/leds_rgb_get_state
  • genofire/rockets-state
  • genofire/ble-follow-py
  • hauke/ble-cleanups
  • plaetzchen/ios-workaround
  • blinkisync-as-preload
  • genofire/haule-ble-fs-deactive
  • schneider/max30001-pycardium
  • schneider/max30001-epicaridum
  • schneider/max30001
  • schneider/stream-locks
  • ios-workarounds
  • schneider/fundamental-test
  • schneider/ble-buffers
  • schneider/maxim-sdk-update
  • ch3/splashscreen
  • v1.8
  • v1.7
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
33 results

genapi.py

Blame
  • Forked from card10 / firmware
    Source project has a limited visibility.
    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!')