Python-第九天 Python异常、模块与包
一、了解异常
1. 什么是异常:
异常就是程序运行的过程中出现了错误
2. bug是什么意思:
bug就是指异常的意思,因为历史因为小虫子导致计算机失灵的案例,所以延续至今,bug就代表软件出现错误。
二、异常的捕获方法
1. 为什么要捕获异常?
在可能发生异常的地方,进行捕获。当异常出现的时候,提供解决方式,而不是任由其导致程序无法运行。
2. 捕获异常的语法
try:
可能发生异常的语句
except[异常 as 别名:]
如果出现异常执行的代码
[else:]
未出现异常时应做的事
[finally:]
不管出不出现异常都会做的事
① 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。
② 一般try下方只放一行尝试执行的代码。
# 基本得捕获语法
try:
f = open(r'C:\Users\xiaze\Desktop\1.txt','r',encoding='UTF-8')
except:
print('出现了异常,因为文件不存在,我将open的模式,改为w模式去打开')
f = open(r'C:\Users\xiaze\Desktop\1.txt','w',encoding='UTF-8')
# 捕获指定异常
try:
print(name)
# 1 / 0
except NameError as e:
print('出现了变量名未定义')
# 捕获多个异常
try:
# print(name)
1 / 0
except (NameError,ZeroDivisionError) as e:
print('出现了变量名未定义或者除以0的异常')
print(e)
# 捕获所有异常
try:
print(name)
# 1 / 0
except Exception as e:
print('出现异常了')
print(e)
3. 如何捕获所有异常?
异常的种类多种多样,如果想要不管什么类型的异常都能捕获到,那么使用:
- except:
- except Exception:
两种方式捕获全部的异常
三、异常的传递性
1.异常是具有传递性的
当函数func01
中发生异常, 并且没有捕获处理这个异常的时候, 异常
会传递到函数func02
, 当func02也没有捕获处理这个异常的时候
ma