常见报错类型
try-except-else-finally 语句
首先执行try语句,若正确直接执行else语句
若try语句发生错误,则判断错误类型,执行错误类型对应的except语句,不执行else语句
finally语句无条件执行,多用于资源保存,文件关闭
print("--- try-except-else 示例 ---")
def safe_divide(a, b):
print(f"\n尝试计算 {a} / {b}")
try:
result = a / b
except ZeroDivisionError:
print("错误:除数不能为零!")
return None # 或者其他表示失败的值
except TypeError:
print("错误:输入必须是数字!")
return None
else:
# 只有当 try 块中的 a / b 成功执行时,这里才会执行
print("除法运算成功!")
print(f"结果是: {result}")
# 可以在这里进行基于成功结果的进一步操作
print(f"结果的两倍是: {result * 2}")
return result
# 测试用例
safe_divide(10, 2) # 成功
safe_divide(10, 0) # ZeroDivisionError
safe_divide("10", 2) # TypeError (如果我们不先做类型转换的话)
safe_divide(20, "abc") # TypeError