Repeating an exception class in a single ``++except++`` statement will not fail but it is not what the developer intended. Either the class is not the one which should be caught, or this is dead code.
Having a subclass and a parent class in the same ``++except++`` statement is also useless. It is enough to keep only the parent class.
This rule raises an issue when an exception class is duplicated in an ``++except++`` statement, or when an exception class has a parent class in the same ``++except++`` statement.
=== Noncompliant code example
[source,python]
----
try:
raise NotImplementedError()
except (NotImplementedError, RuntimeError): # Noncompliant. NotImplementedError inherits from RuntimeError