当系统提供的异常类无法描述出现的异常的时候,需要自定义一些异类,来描述出现的异常。
在定义自定义异常的时候,应该注意异常或者错误对象必须有一个阅读性比较高的名字,并且它们应该是Error或者Exception类的子类。在程序当中,可以用raise语句来引发一个异常。以下是一个代码实例:
class NameShortException(Exception):
def __init__(self,msg,num):
self.msg = msg
self.num = num
def f():
name = input('请输入名字:')
if len(name.strip())<3:
raise NameShortException('名字的长度至少为三个字符',len(name.strip()))
print('f.......')
def main():
try:
f()
except Exception as ex:
print(ex)
print('else.......')
main()