Python异常处理全解析
1. 上下文管理器与生成器
1.1 上下文管理器
在Python中, contextlib 模块提供了方便的上下文管理器功能。例如,使用 @contextlib.contextmanager 装饰器可以创建自定义的上下文管理器:
import contextlib
@contextlib.contextmanager
def tag(tagname):
print('<{}>'.format(tagname), end='')
try:
yield
finally:
print('</{}>'.format(tagname))
在Python 3.6中, contextlib 新增了 AbstractContextManager 类,可作为上下文管理器的基类。
1.2 生成器与异常
为了让生成器更好地处理异常, yield 语句可以放在 try/finally 语句内部。此外,生成器对象还有 throw 和 close 两个相关方法。
- throw 方法 :在Python 2中,其签名为 g.thr
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



