Python异常处理:从字符串到类的进化
1. 为何使用类异常?
在某些简单示例中,可能只有少数几种异常情况,此时使用类异常的优势并不明显。例如,我们可以通过在 except 子句中列出字符串异常名称的列表来实现相同的效果。以下是一个示例代码 stringexc.py :
General = 'general'
Specific1 = 'specific1'
Specific2 = 'specific2'
def raiser0(): raise General
def raiser1(): raise Specific1
def raiser2(): raise Specific2
for func in (raiser0, raiser1, raiser2):
try:
func()
except (General, Specific1, Specific2):
# Catch any of these
import sys
print 'caught:', sys.exc_info()[0]
运行结果如下:
caught: general
caught: specific1
caught: specific2
然而,对于大型或复杂的异常层次结构,使用类来捕获异常类别可能比在单个 except 子句
超级会员免费看
订阅专栏 解锁全文
1507

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



