python异常是程序运行时的错误,会中断执行并显示错误信息。常见异常包括ValueError、TypeError、NameError、IndexError、KeyError和FileNotFoundError。通过try-except结构可捕获异常,防止程序崩溃,如处理ZeroDivisionError或ValueError。可使用多个except捕获不同异常,else在无异常时执行,finally用于必须执行的操作如关闭文件。还可通过raise主动抛出异常,用于参数验证或流程控制。

Python异常是指程序在运行过程中出现的错误,导致代码无法正常执行。当Python检测到一个错误时,它会抛出一个异常对象,如果不处理,程序就会终止并显示错误信息。
常见Python异常类型
了解常见的异常有助于快速定位问题:
- ValueError:传入无效值,比如int(“abc”)
- TypeError:操作不支持的数据类型,如对整数使用.append()
- NameError:使用未定义的变量
- IndexError:列表索引超出范围
- KeyError:字典中不存在指定键
- FileNotFoundError:尝试打开不存在的文件
如何捕获和处理异常
使用 try-except 结构可以捕获异常,防止程序崩溃。
基本语法:
立即学习“Python免费学习笔记(深入)”;
try:
# 可能出错的代码
except 异常类型:
# 处理异常的代码
示例:处理除零错误
try:
result = 10 / 0
except ZeroDivisionError:
print(“不能除以零”)
也可以捕获多个异常:
try:
value = int(input(“输入数字:”))
result = 10 / value
except ValueError:
print(“请输入有效数字”)
except ZeroDivisionError:
print(“不能除以零”)
确保资源清理:finally 和 else
else:没有异常时执行
finally:无论是否异常都会执行,适合释放资源,如关闭文件。
示例:
try:
file = open(“test.txt”)
content = file.read()
except FileNotFoundError:
print(“文件未找到”)
else:
print(“文件读取成功”)
finally:
file.close() # 总是执行
主动抛出异常
使用 raise 可以主动引发异常,用于验证参数或控制流程。
if age raise ValueError(“年龄不能为负数”)
这样可以在问题发生初期就提示用户,避免后续错误。
基本上就这些。掌握异常处理能让程序更健壮,用户体验更好。关键是提前预判可能出错的地方,并给出友好提示。


