翻譯:《實(shí)用的Python編程》04_04_Defining_exceptions
目錄 | 上一節(jié) (4.3 特殊方法) | 下一節(jié) (5 對(duì)象模型)
4.4 定義異常
用戶可以通過類實(shí)現(xiàn)自定義異常:
class NetworkError(Exception):
pass
**異常類始終繼承自 Exception **
它們通常是空類。空類內(nèi)部使用 pass 表示。
你也可以對(duì)異常進(jìn)行分層:
class AuthenticationError(NetworkError):
pass
class ProtocolError(NetworkError):
pass
練習(xí)
練習(xí) 4.11:自定義異常
通常情況下,為庫定義自己的異常是一種良好的習(xí)慣。
這樣可以更容易區(qū)分異常是常見編程錯(cuò)誤觸發(fā)的,還是庫為了提示特定問題而有意觸發(fā)的。
請修改上次練習(xí)中的 create_formatter() 函數(shù),當(dāng)用戶提供錯(cuò)誤的格式名時(shí),觸發(fā)自定義的 FormatError 異常。
示例:
>>> from tableformat import create_formatter
>>> formatter = create_formatter('xls')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "tableformat.py", line 71, in create_formatter
raise FormatError('Unknown table format %s' % name)
FormatError: Unknown table format xls
>>>
浙公網(wǎng)安備 33010602011771號(hào)