summaryrefslogtreecommitdiff
path: root/pylint/test/functional/invalid_exceptions_raised.py
diff options
context:
space:
mode:
Diffstat (limited to 'pylint/test/functional/invalid_exceptions_raised.py')
-rw-r--r--pylint/test/functional/invalid_exceptions_raised.py76
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]