一、引言
异常处理让程序在出错时不崩溃,优雅地处理问题!非常重要!
💡 不要用裸 except,尽量捕获具体异常!
二、基本语法
try:
x = int(input("请输入数字:"))
result = 10 / x
print("结果是:", result)
except ValueError:
print("你输入的不是数字!")
except ZeroDivisionError:
print("不能除以零!")
except Exception as e: # 捕获其他异常
print(f"发生了错误:{e}")
else:
print("没有异常!") # try 块没出错才执行
finally:
print("不管有没有异常,这里都执行!") # 总是执行
三、常见异常
# 最常见的几种:
ValueError # 类型转换失败,比如 int("abc")
TypeError # 类型不对,比如 "hello" + 123
NameError # 变量没定义
FileNotFoundError # 文件找不到
ZeroDivisionError # 除以零
IndexError # 列表索引越界
KeyError # 字典键不存在
四、抛出异常
def check_age(age):
if age < 0:
raise ValueError("年龄不能是负数!") # 主动抛出异常
print(f"年龄是:{age}")
try:
check_age(-5)
except ValueError as e:
print(e)
总结
通过本章学习,你应该已经掌握了「try-except 捕获常见错误」的相关知识。
下一篇是自定义异常!