擅长:python、mysql、java
<p>因为您只能捕获指定异常的子类。在您的情况下,这两个是错误的:</p>
<pre><code>isinstance(CustomException3(), CustomExceptionALL) # False
issubclass(CustomException3, CustomExceptionALL) # False
</code></pre>
<p>(因为您正试图捕获<code>CustomExceptionALL</code>,但<code>CustomException3</code>不是<code>CustomExceptionALL</code>,而是相反)</p>
<p>您可以改为使用类的元组:</p>
<pre><code>CustomExceptionALL = (CustomException1, CustomException2, CustomException3)
isinstance(CustomException3(), CustomExceptionALL) # True
issubclass(CustomException3, CustomExceptionALL) # True
try:
raise CustomException3
except CustomExceptionALL as e:
print("CustomExceptionALL") # This prints
except Exception as e:
print(e)
</code></pre>