擅长:python、mysql、java
<p>您没有直接引发异常,如果引发异常是所需的结果,那么这是适当的。(或者,您可以只打印一条消息,而不处理任何异常。)您不需要在这里使用<code>try</code>-<code>except</code>。相反,只需提出异常,如:</p>
<pre><code>if self.spouse == None:
raise Exception( 'Divorce called but no spouse' )
</code></pre>
<p>而且,您永远也无法访问当前的<code>try</code>部分,因为<code>hasattr(self, 'spouse')</code>总是正确的。另一件事是,婚姻异常的发生是因为<code>marries</code>的无限递归调用,而不是因为直接引发异常。您不应该从<code>marries</code>内部调用<code>marries</code>。你知道吗</p>