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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章