except_isinstance.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. assert isinstance(ValueError(), Exception) == True
  2. assert isinstance(IndexError(), LookupError) == True
  3. assert isinstance(ZeroDivisionError(), ArithmeticError) == True
  4. assert isinstance(TypeError(), Exception) == True
  5. assert isinstance(KeyError(), LookupError) == True
  6. assert isinstance(OverflowError(), ArithmeticError) == True
  7. assert isinstance(FileNotFoundError(), OSError) == True
  8. assert isinstance(TimeoutError(), OSError) == True
  9. assert isinstance(StopIteration(), Exception) == True
  10. assert isinstance(StopAsyncIteration(), Exception) == True
  11. assert isinstance(ValueError(), IndexError) == False
  12. assert isinstance(IndexError(), ValueError) == False
  13. assert isinstance(ZeroDivisionError(), KeyError) == False
  14. assert isinstance(TypeError(), ZeroDivisionError) == False
  15. assert isinstance(KeyError(), TypeError) == False
  16. assert isinstance(OverflowError(), FileNotFoundError) == False
  17. assert isinstance(FileNotFoundError(), TimeoutError) == False
  18. assert isinstance(TimeoutError(), FileNotFoundError) == False
  19. assert isinstance(StopIteration(), StopAsyncIteration) == False
  20. assert isinstance(StopAsyncIteration(), StopIteration) == False
  21. class CustomException(Exception):
  22. pass
  23. class SpecificException(CustomException):
  24. pass
  25. class AnotherException(CustomException):
  26. pass
  27. assert isinstance(SpecificException(), CustomException) == True
  28. assert isinstance(AnotherException(), CustomException) == True
  29. assert isinstance(SpecificException(), Exception) == True
  30. assert isinstance(AnotherException(), Exception) == True
  31. assert isinstance(CustomException(), SpecificException) == False
  32. assert isinstance(CustomException(), AnotherException) == False
  33. print('PASS')