【发布时间】:2016-05-28 13:47:11
【问题描述】:
我正在尝试创建一个可以从所有异常中继承的自定义异常。 我使用了一个包装器,这是我的代码:
def _MyError(_type, message=None, *args, **kwargs):
class MyError(_type, object):
def __init__(self, *_args, **_kwargs):
super(MyError, self).__init__(self, message, *_args, **_kwargs)
return
return MyError(*args, **kwargs)
if(__name__ == '__main__'):
try:
raise _MyError(KeyError, message="ooops")
except MyError as e:
print "MyError occurred. ", e.message
except BaseException:
print "MyError not recognized.\n"
try:
raise _MyError(IndexError, message="ooops")
except IndexError as e:
print "MyError occurred. ", e.message
except BaseException:
print "MyError not recognized.\n"
exit
输出:
MyError not recognized.
MyError not recognized.
建议?
【问题讨论】:
-
您这样做是为了解决什么问题?
标签: python python-2.7 exception inheritance decorator