1.异常的含义
程序运行过程中出现了错误,叫bug
2.捕获常规异常
try:
可能发生的错误
except:
如果出现异常执行的代码
try:
f=open("D:/test4.txt","r",encoding="UTF-8")
#print(f"{f.read(10)}")
except:
f = open("D:/test2.txt", "r", encoding="UTF-8")
print(f"{f.read(10)}")
3.捕获指定异常
把NameError当作a,就是这个异常
try:
print(name)
except NameError as a:
print("name异常")
print(a)
但是:
没捕获对应类型的异常,就会影响程序
try:
#print(name)
1/0
except NameError as a:
print("name异常")
4.捕获多个异常
try:
#print(name)
print(1/0)
print(name)
except (NameError,ZeroDivisionError) as a:
print("出现了异常")
print(a)
#不知道是哪个,哪个先就是哪个,另一个也有可能
5.捕获所有的异常
第一种没写是什么异常就是捕获所有的异常或者亦可以
try:
print(1/0)
except (Exception) as a:
print("出现了异常")
print(a)
6.可加项else
try:
#print(1/0)
print("sss")
except (Exception) as a:
print("出现了异常")
else:
print("高兴没有异常")
7.可加项finally
try:
#print(1/0)
print("sss")
except (Exception) as a:
print("出现了异常")
else:
print("高兴没有异常")
finally:
print("管你有没有异常我都要执行")
8.异常的传递性
def fun2():
print(name)
def fun1():
try:
fun2()
except (Exception) as a:
print("出现了异常")
else:
print("高兴没有异常")
finally:
print("管你有没有异常我都要执行")
fun1()