捕获异常
对可能出现的异常,提前准备,提前处理
基本语法
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()