18-异常

lesson18异常
#视频1异常

#视频2 异常处理

 1 try:
 2     print('----------1-----')
 3     # print(c)
 4     a = 11
 5     print('12121212')
 6     # a()
 7     print('----------2--------')
 8 
 9 except Exception as result:
10     print('捕获到异常,执行这里')
11     print(result)
12 # except TypeError as info:
13 #     print(info)
14 # except NameError:
15 #     print('代码错了')
16 else:
17     print('try中没错误,执行这里')
18 finally:
19     print('不管try中有没有没错误,执行这里')
20 
21 print('33333333')


#运行:
----------1-----
12121212
----------2--------
try中没错误,执行这里
不管try中有没有没错误,执行这里
33333333

--------------------------------------------------------------------
#视频3 自定义异常

1 #自定义异常  必须继承exception
2 class MyError(Exception):
3     pass
4 
5 try:
6     raise TypeError     #主动抛出异常
7 except TypeError:   #NameError
8     print('报错了')

#运行:
报错了

--------------------------------------------------------------------
#视频4 断言
assert ==1
返回true 不报错
返回false 报错--assertionerror

--------------------------------------------------------------------
#视频5 推导式

 1 #推导式
 2 li =[1,2,3,4,5]
 3 range(1,10)
 4 
 5 li1=[x for x in range(1,20)]#列表推导式
 6 li3=[5*x for x in range(1,20)]#列表推导式
 7 
 8 li2=[]
 9 for i in range(1,11):
10     li2.append(5*i)
11 
12 l3=[i if i%2 ==0 else 0 for i in range(1,11)]  #三目+列表推导
13 l4=[i for i in range(1,11)if i%2 ==0]     #返回偶数
14 
15 dic={i:j for i,j in enumerate('abcdefg')}   #字典 返回下标和元素
16 
17 print(li1)
18 print(li3)
19 print(li2)
20 print(l3)
21 print(l4)
22 print(dic)

#运行:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
[0, 2, 0, 4, 0, 6, 0, 8, 0, 10]
[2, 4, 6, 8, 10]
{0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f', 6: 'g'}

--------------

作业:

 1 # 作业:
 2 # 1,自己构造一个报错的场景,并模仿课堂进行一个报错分析
 3 # 要求:报错的类型,报错的原因,报错的代码,和报错的行
 4 #
 5 # 2,结合异常处理,确保打开文件后的正常关闭
 6 # 要求:用open直接打开一个文件,然后write进行写入,假设在写入的
 7 # 时候可能会报错,写段代码确保
 8 # 报错的情况下依然可以把文件
 9 # 关闭掉。
10 
11 f = open('ggg.txt', 'w+')
12 try:
13 
14     f.write('hello python1111111')
15 
16 except Exception as result:
17     print('捕获到异常,执行这里')
18     print(result)
19 else:
20     print('文件写入成功')
21 finally:
22     print('不管try中有没有没错误,执行这里')
23     f.close()

猜你喜欢

转载自www.cnblogs.com/tiantiancode/p/12899797.html
今日推荐