python 基础---异常处理
Posted dzc18
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 基础---异常处理相关的知识,希望对你有一定的参考价值。
程序一旦发生错误,就从错误的位置停下来了,不在继续执行后面的内容
使用try和except就能处理异常
1 try:
2 被检测的代码块
3 except 异常类型:
4 try中一旦检测到异常,就执行这个位置的逻辑
try
我们需要处理的代码
except
- 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码
- 支持多分支
Exception
- 万能的处理机制
- 有了万能的处理机制仍然需要把能预测到的问题单独处理
- 单独处理的所有内容都应该写在万能异常之前
else
没有异常的时候执行else中的代码
finally
- 不管代码是否异常,都会执行
- 常用于文件、数据库等关闭
- finally和return相遇的时候 依然会执行
- 函数里做异常处理用,不管是否异常去做一些收尾工作
举例:
1 ret = int(input(‘number:‘))
2 print(ret)
处理1:(except 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码)
1 try:
2 ret = int(input(‘number:‘))
3 print(ret)
4 except ValueError:
5 print("请输入数字")
处理2:(Exception万能处理,不需要错误类型)
1 try:
2 ret = int(input(‘number:‘))
3 print(ret)
4 except Exception:
5 print("请输入数字")
处理3:
1 try:
2 ret = int(input(‘number:‘))
3 print(ret)
4 except Exception as error:
5 print(‘你错了,老铁‘,error)
处理4:(多分支)
1 s1 = ‘hello‘
2 try:
3 int(s1)
4 except IndexError as e:
5 print(e)
6 except KeyError as e:
7 print(e)
8 except ValueError as e:
9 print(e)
10 except Exception as e:
11 print(e)
处理5:(else和finally)
1 s1 = ‘hello‘
2 try:
3 int(s1)
4 except IndexError as e:
5 print(e)
6 except KeyError as e:
7 print(e)
8 except ValueError as e:
9 print(e)
10 #except Exception as e:
11 # print(e)
12 else:
13 print(‘try内代码块没有异常则执行我‘)
14 finally:
15 print(‘无论异常与否,都会执行该模块,通常是进行清理工作‘)
以上是关于python 基础---异常处理的主要内容,如果未能解决你的问题,请参考以下文章