(original) (raw)
import sys, traceback class MyException(Exception): def __init__(self, *args): 1/0 def gen(): f = open(__file__) yield def foo(): g = gen() next(g) recursionlimit = sys.getrecursionlimit() sys.setrecursionlimit(len(traceback.extract_stack())) try: g.throw(MyException) finally: sys.setrecursionlimit(recursionlimit) foo()