尽管错误类型匹配,但未捕获自定义异常

时间:2019-09-24 18:41:49

标签: python-2.7 exception

为什么ServerError没有被抓住? 我被迫抓住一个普通的Exception并检查其类型是否与预期的Error类型相符。

下面是我正在做的一个较大项目的简化版本。

class GeneralException(Exception):
  def __init__(self):
    pass # Do something
class ServerError(GeneralException):
  def __init__(self, args):
    GeneralException.__init__(self, args)


try:
  # something that raises Exception
# except ServerError as e: # DOES NOT CATCH
except Exception as e:
  if type(e) is type(ServerError()): # This works
    break
  raise

0 个答案:

没有答案