异常
当python检测到一个错误时,解释器就无法继续执行,反而出现一些错误提示,就是异常。
捕获异常
把可能出现问题的代码,放在try中
把处理异常的代码,放在except中
try:
放入可能产生异常的代码
except:
放入产生错误时,处理的方法
except捕获多个异常
当捕获多个异常时,可以把要捕获的异常的名字,放到except后,并使用元祖方式仅进行存储
print('--------------------test--1---')
try:
print(name)
print('aaaa')
open('123.txt', 'r')
print('bbb')
# 捕获的异常的名字
except (NameError, FileNotFoundError):
print('变量没有定义')
print('--------------text--2----')
获取异常的信息描述
print('--------------------test--1---')
try:
open('123.txt', 'r')
print('bbb')
# Exception 是所有异常的父类
except Exception as exp:
print(exp) # 打印异常信息
print(type(exp))
print('--------------text--2----')
traceback.print_exc() 作用是打印异常信息的原始信息
import traceback
print('--------------------test--1---')
try:
open('123.txt', 'r')
print('bbb')
# Exception 是所有异常的父类
except Exception as exp:
print(exp) # 打印异常信息
traceback.print_exc() # 作用是打印异常的原始信息
print('--------------text--2----')
else 没有异常运行
else:
print('没有异常')
finally 有和没有异常都运行
finally:
print('有和没有异常都运行')
抛出自定义异常
raise
def test1():
print('-----------test1-----')
try:
a = 1 / 0
except Exception as exp:
# 捕获异常打印 哈哈哈哈
print('哈哈哈哈')
# 抛出异常
raise exp
print('------------test-2----')
try:
test1()
# 捕获抛出异常打印 hehehe
except:
print('hehehe')