Development of an internal social media platform with personalised dashboards for students
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

invalid_exceptions_raised.py 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # pylint:disable=too-few-public-methods,old-style-class,no-init,import-error,missing-docstring, not-callable
  2. """test pb with exceptions and old/new style classes"""
  3. class ValidException(Exception):
  4. """Valid Exception."""
  5. class OldStyleClass:
  6. """Not an exception."""
  7. class NewStyleClass(object):
  8. """Not an exception."""
  9. def good_case():
  10. """raise"""
  11. raise ValidException('hop')
  12. def good_case1():
  13. """zlib.error is defined in C module."""
  14. import zlib
  15. raise zlib.error(4)
  16. def good_case2():
  17. """decimal.DivisionByZero is defined in C on Python 3."""
  18. import decimal
  19. raise decimal.DivisionByZero(4)
  20. def good_case3():
  21. """io.BlockingIOError is defined in C."""
  22. import io
  23. raise io.BlockingIOError
  24. def bad_case0():
  25. """raise"""
  26. # +2:<3.0:[nonstandard-exception]
  27. # +1:>=3.0:[raising-non-exception]
  28. raise OldStyleClass('hop')
  29. def bad_case1():
  30. """raise"""
  31. raise NewStyleClass() # [raising-non-exception]
  32. def bad_case2():
  33. """raise"""
  34. # +2:<3.0:[nonstandard-exception]
  35. # +1:>=3.0:[raising-non-exception]
  36. raise OldStyleClass('hop')
  37. def bad_case3():
  38. """raise"""
  39. raise NewStyleClass # [raising-non-exception]
  40. def bad_case4():
  41. """raise"""
  42. raise NotImplemented('hop') # [notimplemented-raised]
  43. def bad_case5():
  44. """raise"""
  45. raise 1 # [raising-bad-type]
  46. def bad_case6():
  47. """raise"""
  48. raise None # [raising-bad-type]
  49. def bad_case7():
  50. """raise list"""
  51. raise list # [raising-non-exception]
  52. def bad_case8():
  53. """raise tuple"""
  54. raise tuple # [raising-non-exception]
  55. def bad_case9():
  56. """raise dict"""
  57. raise dict # [raising-non-exception]
  58. def unknown_bases():
  59. """Don't emit when we don't know the bases."""
  60. from lala import bala
  61. class MyException(bala):
  62. pass
  63. raise MyException
  64. def exception_instance_regression():
  65. """Exceptions have a particular class type"""
  66. try:
  67. int("9a")
  68. except ValueError as exc:
  69. raise exc