summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/try-finally1.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-01-31 15:51:20 -0800
committerDamien George <damien.p.george@gmail.com>2014-01-31 15:51:20 -0800
commit532f2c30f66c9ff1e4f2aded29b98ba0db5ec341 (patch)
tree7e0f859cd841b69bc34c69125cae896282dadac1 /tests/basics/try-finally1.py
parent8b56beb1a1829e17f32e6e4ccf09ccbc0915d055 (diff)
parentc9887cbbe2aed0c96228832757142f501fc6e1ac (diff)
downloadmicropython-532f2c30f66c9ff1e4f2aded29b98ba0db5ec341.tar.gz
micropython-532f2c30f66c9ff1e4f2aded29b98ba0db5ec341.zip
Merge pull request #246 from pfalcon/exc_stack_entry
vm: Introduce structure for exception stack entry, record entry type.
Diffstat (limited to 'tests/basics/try-finally1.py')
-rw-r--r--tests/basics/try-finally1.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/tests/basics/try-finally1.py b/tests/basics/try-finally1.py
new file mode 100644
index 0000000000..2416f6d188
--- /dev/null
+++ b/tests/basics/try-finally1.py
@@ -0,0 +1,71 @@
+print("noexc-finally")
+try:
+ print("try")
+finally:
+ print("finally")
+
+print("noexc-finally-finally")
+try:
+ print("try1")
+ try:
+ print("try2")
+ finally:
+ print("finally2")
+finally:
+ print("finally1")
+print()
+
+print("noexc-finally-func-finally")
+def func2():
+ try:
+ print("try2")
+ finally:
+ print("finally2")
+
+try:
+ print("try1")
+ func2()
+finally:
+ print("finally1")
+print()
+
+
+print("exc-finally-except")
+try:
+ print("try1")
+ try:
+ print("try2")
+ foo()
+ except:
+ print("except2")
+finally:
+ print("finally1")
+print()
+
+print("exc-finally-except-filter")
+try:
+ print("try1")
+ try:
+ print("try2")
+ foo()
+ except NameError:
+ print("except2")
+finally:
+ print("finally1")
+print()
+
+
+print("exc-except-finally-finally")
+try: # top-level catch-all except to not fail script
+ try:
+ print("try1")
+ try:
+ print("try2")
+ foo()
+ finally:
+ print("finally2")
+ finally:
+ print("finally1")
+except:
+ print("catch-all except")
+print()