为什么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