为什么需要自定义异常?

因为需要花式catch exception

代码

class MyException(Exception): def __init__(self, arg1, arg2): super(MyException, self).__init__(arg1, arg2) self.arg1 = arg1 self.arg2 = arg2 class MyException(Exception): def __init__(self, message, level='info'): super(MyException, self).__init__(message, level) self.message = message self.level = levelif __name__ == '__main__': try: raise PortNotFoundPidError('fuck u', level='emergent') except PortNotFoundPidError as e: print(e) print('Error message:{} \nError level:{}'.format(e.message, e.level))

/usr/local/bin/python2.7 /Users/psyduck/GitLab/monitor/scripts/Errors.py##### output ###### ('fuck u', 'emergent')# Error message:fuck u # Error level:emergent参考连接

为什么要super(MyException, self).__init__() ?