<p>我正试图在Python2.6中定义自己的(非常简单的)异常类,但无论如何定义,我都会收到一些警告。</p>
<p>首先,最简单的方法:</p>
<pre><code>class MyException(Exception):
pass
</code></pre>
<p>这是有效的,但是在运行时会打印出一个警告:<a href="https://stackoverflow.com/questions/1272138/baseexception-message-deprecated-in-python-2-6">DeprecationWarning: BaseException.message has been deprecated as of Python 2.6</a>好的,所以不是这样的。然后我试着:</p>
<pre><code>class MyException(Exception):
def __init__(self, message):
self.message = message
</code></pre>
<p>这也可以,但是PyLint报告一个警告:<code>W0231: MyException.__init__: __init__ method from base class 'Exception' is not called</code>。所以我试着称之为:</p>
<pre><code>class MyException(Exception):
def __init__(self, message):
super(Exception, self).__init__(message)
self.message = message
</code></pre>
<p>这也行!但现在PyLint报告了一个错误:<code>E1003: MyException.__init__: Bad first argument 'Exception' given to super class</code></p>
<p>我怎么能做这么简单却没有任何警告的事?</p>