Estoy tratando de definir mi propia clase de excepción (muy simple) en Python 2.6, pero no importa cómo lo haga, recibo alguna advertencia.La forma "correcta" de definir una excepción en Python sin la queja de PyLint
En primer lugar, la forma más sencilla:
class MyException(Exception):
pass
Esto funciona, pero imprime un aviso en tiempo de ejecución: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 bien, así que no es el camino. Entonces intenté:
class MyException(Exception):
def __init__(self, message):
self.message = message
funciona esto también, pero pylint informes una advertencia: W0231: MyException.__init__: __init__ method from base class 'Exception' is not called
. Así que traté de llamarlo:
class MyException(Exception):
def __init__(self, message):
super(Exception, self).__init__(message)
self.message = message
Esto funciona, también! Pero ahora PyLint informa un error: E1003: MyException.__init__: Bad first argument 'Exception' given to super class
¿Cómo diablos hago algo tan simple sin advertencias?
'* lint' siempre ha cometido un error al advertir, generando advertencias que realmente no le importan y que pueden provocar que los incautos hagan cosas como agregar métodos no utilizados para tratar de apagarlo. No vale la pena hacer ninguna pelusa para no quejarse, entender todas sus quejas es. – msw