1 try:
2 name
3 2+'3'
4 [][3]
5 {}['k']
6 ret = int(input('number>>>'))
7 print(ret*'*')
8 except ValueError:
9 print('输入的数据有误')
10 except Exception:
11 print('你错了,老铁')
12 else:
13 print('没有异常的时候执行else中的代码')
14 def func():
15 try:
16 f = open('file','w')
17 ''''''
18 return True
19 except:
20 return False
21 finally:
22 print('执行finally了')
23 f.close()
24
25 print(func())
26
27
28 try:
29 main()
30 except Exception:
31 pass
32
33 try:
34 print('1111')
35 # 1/0
36 print('2222')
37 # name
38 # 2+'3'
39 # [][3]
40 # {}['k']
41 ret = int(input('number >>>'))
42 print(ret*'*')
43 except Exception as error:
44 print('你错了,老铁',error)
45
46
程序一旦发生错误,就从错误的位置停下来了,不在继续执行后面的内容
使用try和except就能处理异常
try是我们需要处理的代码
except 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码
except支持多分支
有没有一个能处理所有错误的类型 : Exception
有了万能的处理机制仍然需要把能预测到的问题单独处理
单独处理的所有内容都应该写在万能异常之前
else : 没有异常的时候执行else中的代码
finally : 不管代码是否异常,都会执行
finally和return相遇的时候 依然会执行
函数里做异常处理用,不管是否异常去做一些收尾工作
except Exception as error
print('你错了,老铁',error)
error :在这里是变量,是提提示报错的具体原因