Python自定义异常类
Python自定义异常可以通过继承自带的异常类来实现。
示例:
# simple
def validate(name):
if len(name) < 8:
raise ValueError # or raise ValueError()
# better
def validate1(name):
if len(name) < 8:
raise ValueError('Name too short: {}'.format(name))
# more specific customerize exception
class NameTooShortError(ValueError):
pass
def validate2(name):
if len(name) < 8:
raise NameTooShortError(name)
print(validate2('test'))
输出结果:
validate:
ValueError
validate1:
ValueError: Name too short: test
validate2:
__main__.NameTooShortError: test
自定义异常类可以抛出更明确无歧义的异常信息。