当前位置:首页>python>Python入门:13 异常处理

Python入门:13 异常处理

  • 2026-08-26 18:33:54
Python入门:13 异常处理

开发中总会出现各种各样的错误,错误的出现总会造成程序终止。但有时错误是因为数据造成的,不希望错误使终止程序,更期待程序可以继续运行。此时,我们就可以使用异常捕获来处理。

在Python中,异常可以用try捕获,并用except决定如何处理捕获的错误。当然也可以主动检查语法错误,来抛出异常,可以用raise 强制触发异常。但需要注意,try语句必须配合except语句或者finally语句使用,except语句可以有多个,但finally语句只能有1个。同时,可以配合else语句使用。

P 1、try…except…语句

应用实例:

try:    print(1/0)except ZeroDivisionError:    print('数据错误:被除数为零')# 输出数据错误:被除数为零

上面是单独捕获ZeroDivisionError异常,也可以捕获任何错误,如下:

try:    print(1/0)except:    print('出现异常') # 输出出现异常

捕获多个异常,可以在except后增加想捕获的异常类型元组,如下:

try:    raise AssertionError()   # 这里使用raise强制制造一个断言错误,用于下面的异常处理except (ZeroDivisionError,AssertionError):    print('错误')# 输出错误

或者对他们做分别捕获,从而确定是哪个错误引起的,如下:

try:    raise AssertionError()except ZeroDivisionError:    print('数据错误:被除数为零')except AssertionError:    print('断言错误')# 输出断言错误

没发生异常的情况下执行一定的语句,可以增加else语句。如下:

try:    print(1/2)except:    print('有异常')else:    print('无异常')# 输出无异常

P2、try…finally…语句

我们处理需要关闭的对象时,经常会忘记关闭对象,或者因为程序错误而无法关闭对象。此时,可以用finally来保证对象关闭。如下是一个文件对象的处理例子:

f = open('test','w')try:    pass    # 程序处理代码finally:    f.close()    print('文件关闭')# 输出:文件关闭

当然,也可以配合except处理响应的错误,如下:

f = open('test','w')try:    pass   # 需要捕获异常代码部分except:    pass   # 异常处理部分finally:    f.close()    print('文件关闭')# 输出:文件关闭

同样的,也可以增加else语句,来处理没有错误触发时的一些操作。

f = open('test','w')try:    pass   # 需要捕获异常代码部分except:    print('有异常')    # 有异常执行部分else:    print('无异常')    # 无异常执行部分finally:    f.close()         # 无论有没有异常,都要执行的部分# 输出无异常
☆☆☆ End ☆☆☆转角  ·  遇见  ·  程序猿
-------------------------
那是一抹淡淡的微光

它是数字世界里的一把杀猪刀

却总能巧夺天工

它的世界是纯粹0、1组合

却总能创造无尽幻想

......

本公众号关注数据价值分析、编程学习,将不定期更新社会热点数据分析结果、编程技巧,分享数据分析工具、方法、学习等内容,欢迎有兴趣的小伙伴加入。

最新文章

随机文章