捕获异常
对可能出现的异常,提前准备,提前处理
基本语法
try:
可能发生错误的代码
except:
如果出现异常执行的代码
捕获指定异常
基本语法
try:
print(name)
except NameError as e:
print("name 变量名称未定义错误")
try:
print(name)
except NameError as e:
print("变量未定义")
print(e)
捕获多个异常,用元组给他包括起来,用逗号隔开
捕获所有异常
try:
except Exception as e:
异常后可以跟else表示没有异常做什么
异常的finally
finally表示的是无论是否异常都要执行的代码,例如关闭文件
try:
f = open("C:/Users/aaaaadongcn/Desktop/测试/0.txt", 'r', encoding="UTF-8")
except:
print("异常出现")
f = open("C:/Users/aaaaadongcn/Desktop/测试/0.txt", 'w', encoding="UTF-8")
else:
print("没有异常!")
finally:
f.close()
异常是具有传递性的
def func1():
print("开始")
num = 1 / 0
print("结束")
def func2():
print("开始")
func1()
print("结束")
def main():
func2()
main()
只要函数之间有调用关系,在最顶级的执行也可以捕获
def func1():
print("开始")
num = 1 / 0
print("结束")
def func2():
print("开始")
func1()
print("结束")
def main():
try:
func2()
except Exception as e:
print(e)
main()