异常处理_python
2024-08-30 11:24:35
一、异常处理格式:
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)
最新文章
- 【原】redux学习笔记
- HDU 5831 Rikka with Parenthesis II (贪心) -2016杭电多校联合第8场
- Gson 的使用
- 给OCR文字识别软件添加图像的方法
- 如何让div水平垂直居中
- 从根源上解析 Java volatile 关键字的实现
- java学习之数组排序一:选择排序
- Git for Windows安装和基本设置
- asp.net Server.HtmlEncode和HtmlDecode
- c++11 auto
- Hibernate 、多表关联映射 - 多对多关系映射(many-to-many)
- Linux内核-系统调用
- LNMP的配置与优化
- CLOUD计算产品成本嵌套
- 【数学建模】day10-主成分分析
- Nodejs总结(一)
- 1014 Waiting in Line (30)(30 point(s))
- static不实现多态
- Python 扩展知识:编程习惯
- HBase-1.2.1和Phoenix-4.7.0分布式安装指南
热门文章
- Django 博客单元测试:测试评论应用
- codewars--js--Large Factorials--阶乘+大数阶乘
- codewars--js--Write Number in Expanded Form—filters、map、reduce、forEach
- ES6 - 基础学习(8): Promise 对象
- Android中使用画笔和画布绘制一个矩形
- Linux 文件|目录 属性
- linux 命令行下设置代理
- 谷歌BBR拥塞算法内核更新
- vue 注意
- SpringBoot导出excel数据报错Could not find acceptable representation