异常处理
异常处理是指在程序运行过程中处理错误或异常的机制,异常处理使程序能够优雅地应对运行时的错误,避免程序崩溃.想象你正在做一顿晚餐,在烹饪过程中可能会遇到各种意外情况:
在 Python 中,使用 try, execpt, else, finally 关键字进行异常处理,基本结构如下所示:
try:
# 尝试执行可能出错的代码
except SomeException:
# 如果发生特定类型的错误,执行这里的代码
except AnotherException:
# 处理另一种类型的错误
else:
# 如果没有发生异常,执行这里的代码
finally:
# 无论是否发生异常,都会执行这里的代码
其中的 try 块中是可能引发异常的代码,except 块捕获并处理特定类型的错误,else 块在没有发生错误时执行,finally 块无论是否发生错误都会执行
try:
num = int(input("请输入一个数字: "))
result = 10 / num
print("计算结果是: ", result )
except ValueError:
print("请输入一个有效数字")
except ZeroDivisionError:
print("不能除以零")
else:
print("没有发生错误")
finally:
print("程序结束")
try:
num = int(input("请输入一个数字: "))
result = 10 / num
print(f"输出结果: {result}")
except Exception as e:
print("计算结果是: ", {e} )
如果不能确定发生什么异常,可以使用 Exception 来捕获所有异常,Exception 异常是所有异常的基类,可以捕获所有异常.
还有的时候我们可以主动抛出异常,这就需要使用到 raise 关键字,比如下面这个例子:
def check_value(x):
if x < 0:
raise ValueError("值不能为负数")
try:
check_value(-5)
except ValueError:
print("捕获到值错误,重新引发...")
raise