1.了解异常
当检测到一个错误的时候,解释器就无法继续执行了,反而出现了一些错误提示,这就是所谓的“异常0”。
例如:以“r”方法打开一个不存在的文件
open('test.txt',r)
2.异常的写法
2.1语法:
try: 可能发生错误的代码 except: 如果出现异常,要执行的代码
2.2 快速异常
需求:尝试以r模式打开文件,如果文件不存在,则以w方式打开
2.3了解异常类型
2.4捕获指定异常类型
语法:
try: 可能发生错误的代码 except 异常类型: 如果捕获到这个异常类型,要执行的代码
体验:
注意:
1.如果尝试执行代码的异常类型和要捕捉的异常类型不一致,就无法捕获异常
2.一般try下方只放一行尝试执行的代码
2.5 捕获多个指定异常
当捕获多个异常的时候,可以把要捕获的异常类型的名字,放到except后,并使用元组的方式进行书写
try: print(1/0) except(NameError,ZeroDivisionError): print('有错误')
2.6 捕获异常描述信息
2.7 捕获所有异常
Exception是所有程序异常的父类
2.8 异常的esle
else表示的是 如果没有异常要执行的代码
2.9 异常的finally
finally表示的是 无论是否异常都要执行的代码,例如:关闭文件
3.0 异常传递
需求: 1.尝试只读打开test.txt文件,如果文件存在则读取文件内容,文件不存在则提示用户 2.读取内容要求:尝试循环读取内容,读取过程中如果检测到用户意外终止程序,则except捕获异常并提示用户
4. 自定义异常
在python中,抛出自定义异常的语法:raise 异常类名()。
raise作用:就是指定抛出异常名称
需求:密码长度不足,则报异常(用户输入的密码,如果不够3位,就报错,就是抛出自定义异常,并捕获异常)
总结:
1.异常语法
2.捕获异常
3.自定义异常