【Python】自定义Error或者Exception

【Python】自定义Error或者Exception

为什么需要自定义异常?

因为需要花式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 = level

if __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__() ?