Skip to main content

Python 入门基础知识 - 多重异常处理

Python 入门基础知识 - 多重异常处理

多重异常处理

在Python中可以在try语句中嵌套另外一个try语句。由于Python将try放在堆栈中,一旦引发异常,Python将匹配

最近的except语句。如果except能够处理异常,则外围的try语句将不再不会捕获异常。如果except忽略该异常,

则异常将被外围try语句捕获。

代码实例如下:

l = [1, 2]  # 定义一个列表
try:  # 嵌套try语句
    try:
        l[5]
    except:  # 捕获所有异常
        print('Error1')  # 打印Error1
except:  # 捕获所有异常
    print('Error2')  # 打印Error2
else:
    print('No Error')

输出结果如下

Error1
No Error
try:
    try:
        l[1] / 0
    except IndexError:
        print('Error1')
except:
    print('Error2')
else:
    print('No Error')

输出结果如下

Error2
try:
    try:
        l[1] / 's'
    except IndexError:
        print('Error1')
except ZeroDivisionError:
    print('Error2')
else:
    print('No Error')

运行代码后会遇到如下错误

TypeError: unsupported operand type(s) for /: 'int' and 'str'

实例环境声明

# _*_ coding: utf-8 _*_
# Python 2.7.13
版权声明

版权声明

durban.zhang 创作并维护的 Walkerfree 博客采用 创作共用保留署名-非商业-禁止演绎4.0国际许可证。本文首发于 Walkerfree 博客(http://www.walkerfree.com/),版权所有,侵权必究。本文永久链接:http://www.walkerfree.com/article/65