Python 异常处理的核心知识点
Python异常处理用于捕获和处理程序运行时的错误,常用关键字有try、except、finally 和 else
今天我们来了解下它的核心知识方点。
1 基本结构:
try:
# 对可能引发异常的的情况进行预处理
result = 10 / 0
except ZeroDivisionError:
# 对特定异常,提示错误信号
print("除零错误!")
except Exception as e:
# 异常捕获,有点错误或者BUG不知道
print(f"其他错误: {e}")
else:
# 无异常时执行,比如成功登录等等
print("运行成功")
finally:
# 无论是否异常,我们仍需要最终执行的
print("清理资源")
运行一下,这个不运行也可以,知道就好了
2. 常见异常类型
ZeroDivisionError: 除数为零。
ValueError: 值不符合预期(如 int("abc"))。
TypeError: 类型错误(如 1 + "a")。
FileNotFoundError: 文件不存在。
KeyError: 字典键不存在。
IndexError: 列表索引越界。
3有的时候我们需要主动抛出异常
def check_age(age):
if age < 0:
raise ValueError("年龄不能为负数")
return age
try:
check_age(-5)
except ValueError as e:
print(e) # 主动抛出异常
4我们也可以自定义异常
代码如下
class My_Error(Exception):
def __init__(self, message):
self.message = message
try:
raise My_Error("自己可以修改自定义错误内容")
except My_Error as e:
print(e.message) # 通过定义的对象输出:自定义错误
好了,大差不差了,实际操作中可能会有些复杂,慢慢来。