From: Stefan Behnel Date: Mon, 8 Dec 2008 21:22:21 +0000 (+0100) Subject: runnable test case for try-finally X-Git-Tag: 0.11-beta~147 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=6a08a7805c70ad73087154e945116cd8f4aeb3f0;p=cython.git runnable test case for try-finally --- diff --git a/tests/run/tryfinally.pyx b/tests/run/tryfinally.pyx new file mode 100644 index 00000000..8caac5d7 --- /dev/null +++ b/tests/run/tryfinally.pyx @@ -0,0 +1,61 @@ +u""" +>>> try: +... raise ValueError +... finally: +... raise TypeError +Traceback (most recent call last): +TypeError +>>> finally_except() +Traceback (most recent call last): +TypeError + +>>> def try_return_py(): +... try: +... return 1 +... finally: +... return 2 +>>> try_return_py() +2 +>>> try_return_cy() +2 + +>>> i=1 +>>> for i in range(3): +... try: +... continue +... finally: +... i+=1 +>>> i +3 +>>> try_continue(3) +3 +""" + +def finally_except(): + try: + raise ValueError + finally: + raise TypeError + +def try_return_cy(): + try: + return 1 + finally: + return 2 + +def try_return_temp(a): + b = a+2 + try: + c = a+b + return c + finally: + print b-a + +def try_continue(a): + i=1 + for i in range(a): + try: + continue + finally: + i+=1 + return i