diff options
Diffstat (limited to 'tests/basics/try-finally1.py')
| -rw-r--r-- | tests/basics/try-finally1.py | 71 | 
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 000000000..2416f6d18 --- /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()  | 
