Получение pylint (или другого инструмента) для обнаружения перекрывающихся исключений

Я не нашел способа заставить pylint (или другие инструменты анализа кода) отлавливать случаи, когда обнаруживаются перекрывающиеся / избыточные исключения, как в следующем примере:

"""doc"""
import socket
try:
    pass
except (ConnectionError, IOError, OSError, socket.error):
    # ConnectionError inherits from OSError
    # socket.error and IOError are aliases for OSError
    pass

Здесь я хотел бы получить жалобу на ConnectionError, IOError и socket.error, уже охватываемые OSError в предложении исключением.

In [1]: import socket

In [2]: OSError
Out[2]: builtins.OSError

In [3]: socket.error
Out[3]: builtins.OSError

In [4]: IOError
Out[4]: builtins.OSError

In [5]: ConnectionError, ConnectionError.__bases__
Out[5]: (builtins.ConnectionError, (builtins.OSError,))

Это существует? Если нет, будет ли это хорошей / плохой идеей?

1 ответ

Решение

Теперь реализовано здесь: перекрытие-кроме-проверки

Другие вопросы по тегам