_exception.py 375 B

123456789101112131415161718192021222324252627
  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()