_exception.py 617 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. class A:
  2. def __getitem__(self, i):
  3. raise KeyError(i)
  4. try:
  5. a = A()
  6. b = a[1]
  7. except:
  8. print("PASS 01")
  9. try:
  10. a = {'1': 3, 4: None}
  11. x = a[1]
  12. except:
  13. print("PASS 02")
  14. assert True
  15. def f():
  16. try:
  17. raise KeyError('foo')
  18. except A: # will fail to catch
  19. assert False
  20. except:
  21. print("PASS 03")
  22. assert True
  23. f()
  24. def f1():
  25. try:
  26. assert 1 + 2 == 3
  27. try:
  28. a = {1: 2, 3: 4}
  29. x = a[0]
  30. except A:
  31. exit(1)
  32. except B:
  33. exit(1)
  34. exit(1)
  35. try:
  36. f1()
  37. except KeyError:
  38. print("PASS 04")