开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情
异常捕捉介绍
在程序中经常会因为出现一些中间的错误而不能直接运行完就报错,为了避免这样的情况我们会使用异常捕捉异常的情况。
try···except···的基本用法
基本格式:
try:
代码段(正常运行的)
except:
代码段(出现异常时运行的)
ps:若无异常,那么except下的代码段并不会执行
举个例子:
for i in range(2):
try:
x = int(input("请输入分子:"))
y = int(input("请输入分母:"))
print(f"x ➗ y = {x/y}")
print("====================")
except:
# excpe: ==> except Exception as e:
# 两者都是抓取所有的异常
print("分母不可为零")
捕捉多个异常
举个例子
try:
x = input("请输入分子:")
y = int(input("请输入分母:"))
print(f"x ➗ y = {x/y}")
except (ZeroDivisionError, TypeError) as e:
print(e)
print("----------------------------------")
try:
x = int(input("请输入分子:"))
y = int(input("请输入分母:"))
print(f"x ➗ y = {x/y}")
except (ZeroDivisionError, TypeError) as e:
print(e)
print("==================================")
try:
x = input("请输入分子:")
y = int(input("请输入分母:"))
print(f"x ➗ y = {x/y}")
except ZeroDivisionError as e:
print("分母不可为零")
except TypeError as e:
print(e)
print("----------------------------------")
try:
x = int(input("请输入分子:"))
y = int(input("请输入分母:"))
print(f"x ➗ y = {x/y}")
except ZeroDivisionError as e:
print("分母不可为零")
except TypeError as e:
print(e)
try···except···else···finally 格式
基本格式:
try:
代码段(一开始执行的)
except:
代码段(出现异常执行的)
else:
代码段(如果没有异常执行的)
finally:
代码段(不管是否有异常都会执行的)
举个例子
for i in range(2):
try:
x = int(input("请输入分子:"))
y = int(input("请输入分母:"))
print(f"x ➗ y = {x/y}")
except ZeroDivisionError as e:
print("异常出现,分母不可为零")
else:
print("异常未出现")
finally:
print("最终段")
print("====================")