翻译:《实用的Python编程》04_04_Defining_exceptions
2021-03-10 22:29
267 查看
目录 | 上一节 (4.3 特殊方法) | 下一节 (5 对象模型)
4.4 定义异常
用户可以通过类实现自定义异常:
class NetworkError(Exception): pass
**异常类始终继承自
Exception**
它们通常是空类。空类内部使用
pass表示。
你也可以对异常进行分层:
class AuthenticationError(NetworkError): pass class ProtocolError(NetworkError): pass
练习
练习 4.11:自定义异常
通常情况下,为库定义自己的异常是一种良好的习惯。
这样可以更容易区分异常是常见编程错误触发的,还是库为了提示特定问题而有意触发的。
请修改上次练习中的
create_formatter()函数,当用户提供错误的格式名时,触发自定义的
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 >>>
相关文章推荐
- 翻译:《实用的Python编程》04_00_Overview
- 【翻译】Pro.Silverlight.5.in.CSharp.4th.Edition - 第五章 元素 04
- Django REST framework-API指南04-Generic views 原创翻译
- 翻译(Defining an MS-DOS Device Name )
- 翻译:《实用的Python编程》05_01_Dicts_revisited
- 翻译:《实用的Python编程》01_06_Files
- Task04:机器翻译及相关技术;注意力机制与Seq2seq模型;Transformer
- 翻译]架构师应该知道的97件事_04以沟通为中心,兼顾简明清晰的表达方式和开明的领导作风
- 翻译:《实用的Python编程》05_02_Classes_encapsulation
- [翻译]架构师应该知道的97件事_04以沟通为中心,兼顾简明清晰的表达方式和开明的领导作风
- TC官方文档翻译04----列表对象API(Tokyo Cabinet/Tokyo Tyarnt 文档系列)
- WordProcessingML的解剖学翻译04--Wordprocessing段落02--属性08--制表符
- Task04:机器翻译
- Android总结04_WebView API翻译
- 翻译:《实用的Python编程》02_05_Collections
- 翻译:《实用的Python编程》06_00_Overview
- 【Kotlin】官方文档翻译-异常(Exceptions)
- [翻译] Effective C++, 3rd Edition, Item 8: 防止因为 exceptions(异常)而离开 destructors(析构函数)
- WordProcessingML的解剖学翻译04--Wordprocessing段落02--属性07--样式
- 04微信公众平台 - 实现【翻译】功能函数,返回一个文本字符串。