blob: ac2026881f4c037c3dd7325c145a96e375211334 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# mode: run
# tag: generators, pure3.5
from __future__ import generator_stop
# "generator_stop" was only added in Py3.5.
def with_outer_raising(*args):
"""
>>> x = with_outer_raising(1, 2, 3)
>>> try:
... list(x())
... except RuntimeError:
... print("OK!")
... else:
... print("NOT RAISED!")
OK!
"""
def generator():
for i in args:
yield i
raise StopIteration
return generator
|