diff options
Diffstat (limited to 'pylint/test/functional/invalid_exceptions_raised.py')
-rw-r--r-- | pylint/test/functional/invalid_exceptions_raised.py | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/pylint/test/functional/invalid_exceptions_raised.py b/pylint/test/functional/invalid_exceptions_raised.py new file mode 100644 index 0000000..ee03de8 --- /dev/null +++ b/pylint/test/functional/invalid_exceptions_raised.py @@ -0,0 +1,76 @@ +# pylint:disable=too-few-public-methods,old-style-class,no-init +"""test pb with exceptions and old/new style classes""" + + +class ValidException(Exception): + """Valid Exception.""" + +class OldStyleClass: + """Not an exception.""" + +class NewStyleClass(object): + """Not an exception.""" + + +def good_case(): + """raise""" + raise ValidException('hop') + +def good_case1(): + """zlib.error is defined in C module.""" + import zlib + raise zlib.error(4) + +def good_case2(): + """decimal.DivisionByZero is defined in C on Python 3.""" + import decimal + raise decimal.DivisionByZero(4) + +def good_case3(): + """io.BlockingIOError is defined in C.""" + import io + raise io.BlockingIOError + +def bad_case0(): + """raise""" + # +2:<3.0:[nonstandard-exception] + # +1:>=3.0:[raising-non-exception] + raise OldStyleClass('hop') + +def bad_case1(): + """raise""" + raise NewStyleClass() # [raising-non-exception] + +def bad_case2(): + """raise""" + # +2:<3.0:[nonstandard-exception] + # +1:>=3.0:[raising-non-exception] + raise OldStyleClass, 'hop' + +def bad_case3(): + """raise""" + raise NewStyleClass # [raising-non-exception] + +def bad_case4(): + """raise""" + raise NotImplemented, 'hop' # [notimplemented-raised] + +def bad_case5(): + """raise""" + raise 1 # [raising-bad-type] + +def bad_case6(): + """raise""" + raise None # [raising-bad-type] + +def bad_case7(): + """raise list""" + raise list # [raising-non-exception] + +def bad_case8(): + """raise tuple""" + raise tuple # [raising-non-exception] + +def bad_case9(): + """raise dict""" + raise dict # [raising-non-exception] |