一、异常处理格式:

name=[1,2]
data={}
try:
name[3]
data['name']
except (KeyError,IndexError) as e : #捕捉指定的几个错误类型
print("没有这个key" ,e)
except IndexError as e:#捕捉指定的一个错误类型
print('列表操作错误',e)
except Exception as e: #捕捉所有错误类型,放后面捕捉未知错误
print('出错了')
else: #没有错误执行
print('一切正常')
finally: #不管有没有错都执行
print('有没错都执行') 二、常见错误

AttributeError   试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError     输入/输出异常;基本上是无法打开文件
ImportError   无法引入模块或包;基本上是路径问题或名称错误
IndentationError   语法错误(的子类) ;代码没有正确对齐
IndexError   下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError   试图访问字典里不存在的键
KeyboardInterrupt   Ctrl+C被按下
NameError   使用一个还未被赋予对象的变量
SyntaxError   Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError   传入对象类型与要求的不符合
UnboundLocalError   试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它
ValueError   传入一个调用者不期望的值,即使值的类型是正确的

三、自定义异常

class chenexception(Exception):  #自定义异常类
def __init__(self,msg):
self.msg=msg
def __str__(self): #不写也是默认返回这个
return self.msg try:
raise chenexception('数据库连接错误') #触发自己写的异常
except chenexception as e:
print(e)

最新文章

  1. 【原】redux学习笔记
  2. HDU 5831 Rikka with Parenthesis II (贪心) -2016杭电多校联合第8场
  3. Gson 的使用
  4. 给OCR文字识别软件添加图像的方法
  5. 如何让div水平垂直居中
  6. 从根源上解析 Java volatile 关键字的实现
  7. java学习之数组排序一:选择排序
  8. Git for Windows安装和基本设置
  9. asp.net Server.HtmlEncode和HtmlDecode
  10. c++11 auto
  11. Hibernate 、多表关联映射 - 多对多关系映射(many-to-many)
  12. Linux内核-系统调用
  13. LNMP的配置与优化
  14. CLOUD计算产品成本嵌套
  15. 【数学建模】day10-主成分分析
  16. Nodejs总结(一)
  17. 1014 Waiting in Line (30)(30 point(s))
  18. static不实现多态
  19. Python 扩展知识:编程习惯
  20. HBase-1.2.1和Phoenix-4.7.0分布式安装指南

热门文章

  1. Django 博客单元测试:测试评论应用
  2. codewars--js--Large Factorials--阶乘+大数阶乘
  3. codewars--js--Write Number in Expanded Form—filters、map、reduce、forEach
  4. ES6 - 基础学习(8): Promise 对象
  5. Android中使用画笔和画布绘制一个矩形
  6. Linux 文件|目录 属性
  7. linux 命令行下设置代理
  8. 谷歌BBR拥塞算法内核更新
  9. vue 注意
  10. SpringBoot导出excel数据报错Could not find acceptable representation