當系統提供的異常類無法描述出現的異常的時候,需要自定義一些異類,來描述出現的異常。
在定義自定義異常的時候,應該注意異常或者錯誤對象必須有一個閱讀性比較高的名字,并且它們應該是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()