try_finally1.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. print("noexc-finally")
  2. try:
  3. print("try")
  4. finally:
  5. print("finally")
  6. print("noexc-finally-finally")
  7. try:
  8. print("try1")
  9. try:
  10. print("try2")
  11. finally:
  12. print("finally2")
  13. finally:
  14. print("finally1")
  15. print()
  16. print("noexc-finally-func-finally")
  17. def func2():
  18. try:
  19. print("try2")
  20. finally:
  21. print("finally2")
  22. try:
  23. print("try1")
  24. func2()
  25. finally:
  26. print("finally1")
  27. print()
  28. print("exc-finally-except")
  29. try:
  30. print("try1")
  31. try:
  32. print("try2")
  33. foo()
  34. except:
  35. print("except2")
  36. finally:
  37. print("finally1")
  38. print()
  39. print("exc-finally-except-filter")
  40. try:
  41. print("try1")
  42. try:
  43. print("try2")
  44. foo()
  45. except NameError:
  46. print("except2")
  47. finally:
  48. print("finally1")
  49. print()
  50. print("exc-except-finally-finally")
  51. try: # top-level catch-all except to not fail script
  52. try:
  53. print("try1")
  54. try:
  55. print("try2")
  56. foo()
  57. finally:
  58. print("finally2")
  59. finally:
  60. print("finally1")
  61. except:
  62. print("catch-all except")
  63. print()