summaryrefslogtreecommitdiff
path: root/tests/functional/o/overlapping_exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/o/overlapping_exceptions.py')
-rw-r--r--tests/functional/o/overlapping_exceptions.py66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/functional/o/overlapping_exceptions.py b/tests/functional/o/overlapping_exceptions.py
new file mode 100644
index 000000000..c5eab48cc
--- /dev/null
+++ b/tests/functional/o/overlapping_exceptions.py
@@ -0,0 +1,66 @@
+# pylint: disable=missing-docstring
+
+import socket
+
+
+class SomeException(Exception):
+ pass
+
+
+class SubclassException(SomeException):
+ pass
+
+
+AliasException = SomeException
+
+try:
+ pass
+except (SomeException, SomeException): # [overlapping-except]
+ pass
+
+try:
+ pass
+except (SomeException, SubclassException): # [overlapping-except]
+ pass
+
+try:
+ pass
+except (SomeException, AliasException): # [overlapping-except]
+ pass
+
+try:
+ pass
+except (AliasException, SubclassException): # [overlapping-except]
+ pass
+
+try:
+ pass
+# +1:[overlapping-except, overlapping-except, overlapping-except]
+except (SomeException, AliasException, SubclassException):
+ pass
+
+try:
+ pass
+except (ArithmeticError, FloatingPointError): # [overlapping-except]
+ pass
+
+try:
+ pass
+except (ValueError, UnicodeDecodeError): # [overlapping-except]
+ pass
+
+
+try:
+ pass
+except (IOError, OSError): # [overlapping-except]
+ pass
+
+try:
+ pass
+except (socket.error, OSError): # [overlapping-except]
+ pass
+
+try:
+ pass
+except (ConnectionError, socket.error): # [overlapping-except]
+ pass