2016-10-12 1 views
1

Je n'ai trouvé aucun moyen d'obtenir pylint (ou d'autres outils d'analyse de code) pour attraper des cas où des exceptions chevauchantes/redondantes sont capturées comme dans l'exemple suivant:Obtenir pylint (ou autre outil) pour attraper les exceptions qui se chevauchent

Ici, je voudrais obtenir une plainte concernant ConnectionError, IOError et socket.error déjà couvert par OSError dans l'exception-clause.

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,)) 

Est-ce que cela existe? Sinon, serait-ce une bonne/mauvaise idée?

+0

Ne hésitez pas à soumettre une proposition à (https://github.com/PyCQA/pylint) [GitHub de pylint]. Pour ce que je sais, écrire ce contrôle est possible avec des machines pylint. –

Répondre