目录
try-except块
例子:
输出:
捕获多种异常
例子:
else和finally
例子:
输出:
自定义异常
例子:
输出:
好的,简单来说,错误和异常处理是编程中用来处理程序运行时可能出现的意外情况的机制。比如,程序可能因为除以零、找不到文件或者用户输入了错误的内容而“出错”。为了避免程序直接崩溃,我们可以用try-except
来“捕获”这些意外情况,并告诉程序该怎么处理。
try-except
块
try
:把可能会出错的代码放在这里。except
:如果try
里的代码出错了,就执行这里的代码。
例子:
try:
result = 10 / 0 # 这里可能会出错,因为除数是0
except ZeroDivisionError: # 捕获除以零的错误
print("出错了!不能除以零。")
输出:
出错了!不能除以零。
捕获多种异常
如果代码可能会出现多种错误,可以用多个except
块来分别处理。
例子:
try:
num = int(input("请输入一个数字:")) # 用户输入可能出错
result = 10 / num # 除法可能出错
except ValueError: # 捕获用户输入不是数字的情况
print("请输入一个有效的数字!")
except ZeroDivisionError: # 捕获除以零的情况
print("不能除以零!")
else
和finally
else
:如果没有出错,会执行else
块。finally
:不管有没有出错,finally
块都会执行,通常用来清理资源。
例子:
try:
result = 10 / 2
except ZeroDivisionError:
print("不能除以零!")
else:
print("计算成功,结果是:", result)
finally:
print("不管怎样,我都会执行。")
输出:
计算成功,结果是: 5.0
不管怎样,我都会执行。
自定义异常
你可以自己定义异常,让程序更清晰。
例子:
class MyError(Exception): # 自定义一个异常
pass
try:
raise MyError("这是我自己定义的错误!") # 主动触发异常
except MyError as e:
print(e)
输出:
这是我自己定义的错误!