文章目录
正文
1. 错误和异常的概念
1.1 错误
在 Python 里,错误一般可分为语法错误和逻辑错误。
- 语法错误:是指代码编写不符合 Python 语法规则,导致 Python 解释器无法正确解析代码。例如,少了冒号、括号不匹配等。
# 语法错误示例,if 语句后缺少冒号
if True
print("This is a syntax error.")
- 逻辑错误:代码语法上没有问题,但程序运行结果不符合预期。这通常是由于算法设计错误、变量使用不当等原因造成的。例如,在计算平均值时,分母可能为 0。
1.2 异常
异常是在程序运行过程中出现的错误事件,它会打断程序的正常执行流程。Python 有许多内置异常类型,如 ZeroDivisionError
、IndexError
等。
2. 常见的内置异常类型
2.1 ZeroDivisionError
当试图用一个数除以 0 时,会引发该异常。
try:
result = 5 / 0
except ZeroDivisionError:
print("不能除以零!")
2.2 IndexError
当使用的索引超出序列(如列表、元组)的有效范围时,会触发此异常。
my_list = [1, 2, 3]
try:
print(my_list[3])
except IndexError:
print("索引超出范围!")
2.3 KeyError
在字典中使用不存在的键进行访问时,会抛出 KeyError
。
my_dict = {
'a': 1, 'b': 2}
try:
print(my_dict['c'])
except KeyError:
print("键不存在!")
2.4 TypeError
当操作或函数应用于不适当类型的对象时,会引发该异常。例如,将字符串和整数相加。
try:
result = "hello" + 1
except TypeError:
print("类型不匹配,不能将字符串和整数相加!")
3. 异常处理机制
3.1 try-except
语句
try-except
语句用于捕获和处理异常。try
块中放置可能会引发异常的代码,except
块用于处理捕获到的异常。
try:
num1 = int(input("请输入一个整数: "))
num2 = int(input("请输入另一个整数: "))
result = num1 / num2
print(f"结果是: {