python学习之——try系列相关语句(try/except/else/finally)

本文深入讲解Python中的异常处理机制,包括try-except、try-except-else和try-finally的用法,通过实例演示不同异常如何被捕获及处理,帮助读者理解异常处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,try-except

a = b
print(b)
print("woaini")

由于b没有被定义,因此输出结果为
在这里插入图片描述
现在加入try-except:

try:
    a=b
    print(a)
except:
    print("error")
print("test")

结果输出为
在这里插入图片描述
因此try/except执行过程为:
(1)先执行try代码块, 发现了错误。
(2)执行except代码块。
(3)程序向下执行。
可是在try中发现异常之前的部分会被执行吗?

try:
    print("v587")
    a=b
    print(a)
except:
    print("error")
print("test")

输出结果为
在这里插入图片描述
由此可知,在发现异常之前的语句是会正常运行的。
我们经常见的两个系统报错为:SyntaxError和NameError
在try/except语句中,可以使用多个except语句
例如:

try:
    print("v587")
    a=b
    print(a)
except SyntaxError:
    print("<<<<SyntaxError")
except NameError:
    print("<<<<NameError")
print("test")

输出结果为:
在这里插入图片描述
可见,当try代码块执行出现异常,在except中匹配到了NameError的异常,则执行了对应except的语句。
若所有except都没有匹配,则相当于try/except语句不存在。
2,try-except-else

在该语句中,try中如果有异常,else是不执行的,例如:

try:
    print("v587")
    a=b
    print(a)
except SyntaxError:
    print("<<<<SyntaxError")
except SystemError:
    print("<<<<SystemError")
except:
    print("bushinaliangzhongcuowu")
else:
    print("hahaha")
print("test")

输出为:
在这里插入图片描述
如果没有出现异常时,例如:

try:
    print("v587")
    b=1;
    a=b
    print(a)
except SyntaxError:
    print("<<<<SyntaxError")
except SystemError:
    print("<<<<SystemError")
except:
    print("bushinaliangzhongcuowu")
else:
    print("hahaha")
print("test")

此时except不输出,else输出,如图:

在这里插入图片描述
3,try/finally
无论try语句是否有异常,最后都要执行的代码。
例如:

try:
    print("v587")
    a=b
    print(a)
except SyntaxError:
    print("<<<<SyntaxError")
else:
    print("hahaha")
finally:
    print("meiyoule!!")
print("test")

输出结果为:
在这里插入图片描述
仅限运行完整套语句后结束,,可以看到最后的print并没有执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值