Python3---异常处理

本文详细介绍了Python中的异常处理机制,包括如何使用try-except-finally结构来处理和抛出异常,并解释了finally子句的作用。

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

1.处理异常

try:
    statements to be inside try clause
    statement2
    statement3
    …
except:ExceptionName:
    statements to evaluated in case of ExceptionName happens

工作顺序:
1、首先执行try子句,若try子句执行正常,则except直接被忽略,不执行
2、若在执行try子句过程中,出现异常:
2.1 异常在 except 分支中有匹配的异常类型,则执行对应的except 子句,然后继续执行try子句之后的代码
2.2 异常在except 分支中无匹配的 异常类型,它就会传递到上一级 try 语句中。如果最终仍找不到对应的处理语句,它就成为一个 未处理异常,终止程序运行,显示提示信息。
3、一个空except语句,可以捕获任何异常

2.抛出异常

raise语句抛出一个异常

try:
    raise ValueError("A value error happend.")
except ValueError:
    print("ValueError in the code")

3.finally子句定义清理行为

不管是否有发生异常,finally子句,在程序离开try后,都一定会被执行。
当try子句中发生了异常,不管是否被except是否捕获,在finally子句执行完后它都会被重新抛出

# 异常已被except捕获

>>> try:
...     raise KeyboardInterrupt
... except KeyboardInterrupt:
...     print("Error")
... finally:
...     print("Bye,World")
... 
Error
Bye,World
>>> 
# 异常未被except捕获

>>> try:
...     raise KeyboardInterrupt
... except ValueError:
...     print("Enter value error!")
... finally:
...     print("Goodbye!")
... 
Goodbye!
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
KeyboardInterrupt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值