summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/async_with.py
blob: 9eccfd816c3884b9f3f9ab1480d24a8ef6ea4b8c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# test simple async with execution

class AContext:
    async def __aenter__(self):
        print('enter')
    async def __aexit__(self, exc_type, exc, tb):
        print('exit', exc_type, exc)

async def f():
    async with AContext():
        print('body')

o = f()
try:
    o.send(None)
except StopIteration:
    print('finished')

async def g():
    async with AContext():
        raise ValueError('error')

o = g()
try:
    o.send(None)
except ValueError:
    print('ValueError')