python中异常报错处理方法汇总


Posted in Python onNovember 20, 2016

首先异常是什么,异常白话解释就是不正常,程序里面一般是指程序员输入的格式不规范,或者需求的参数类型不对应,不全等等。

Python中异常是指程序中的例外,违例情况。异常机制是指程序出现错误后,程序的处理方法。当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理。

打个比方很多公司年终送苹果笔记本,你程序话思维以为是(MAC)电脑笔记本,结果给你个苹果+笔记本。。。首先类型不对,数量也不对。

先来看几个常见的报错如下:

python中异常报错处理方法汇总

NameError 命名错误 原因是: name 'a' is not defined  命名a还未定义 简单来说就是程序不知道a带表谁 如果a=1 那程序就懂了 a代表1

所以以后碰到这类代码只用找到错误未定义的a给它赋相应的值即可解决了。

好了我们继续看下一个如下:

python中异常报错处理方法汇总

IndexError 索引错误(也有叫边界错误) 原因: list index out of range 列表的索引已经超出其范围导致

列表a只有2个参数,下标是0,1(不懂去看列表基础),而我要打印下标2位置的值这时候就超过它的标准不在范围内

打个比方坐公交车1米2以下儿童免费,结果来个1米5上来就不能免费因为你超过规定高度

来我们继续continue:

python中异常报错处理方法汇总

KeyError 键值错误 一般出现在字典中原因是:字典a中没有height这个键值,name已经打印出来因为a里面已经存在

字典是由dict = { key : value }一一对应组成,打个比方就理解了dict好比一家公司company由员工key类似标识

value等于员工的属性(岗位,工资,对应个人信息等)这报错就等于去一个公司找某某某,结果人家公司说没这个人一样。

继续继续continue:

python中异常报错处理方法汇总

ImportError 导入错误 原因:No module named nothing 没有模块名叫nothing的方法

一般这错误会发生在拼写错误或者大小写,没有安装模块方法,没有正确引用位置(模块更新版本可能会改方法名或新增文件夹)

这时候我推荐你去python2.x或者python3.x目录下\Lib\site-packages文件里面找找看(第三方库模块都会在这几种存放)

继续继续continue:

python中异常报错处理方法汇总

IOError 输入输出错误 原因:No such file or directory : 'test' 没有在目录中找到叫test文件

这个容易理解,无中生有。程序说:你坑谁啊?

 继续继续continue:

python中异常报错处理方法汇总

AttributeError 成员属性错误 原因:一切皆对象 然而字典a对象内没有一个内置函数也就是内置方法叫sort排序,大家都知道字典是无序的,list列表才有这方法

当你定义一个变量不知道能用什么内置函数和方法时可以这样用dir查看以下当前可以用那些方法。

 

 python中异常报错处理方法汇总

SyntaxError 语法错误 :无效语法  a没有定义所以没办法让它转换为整型 这也是常见错误之一

来接着看下一个:

python中异常报错处理方法汇总

TypeError 类型错误:不知道的哈希类型 list列表 (后面为个人理解) 但是元组却可以放进去有点费解,字典的key一般是单元素或唯一标识,

恰好元组不可变的序列也是唯一标识,所以元组可以放入key中。打比方就如你是世界上唯一的key,没有和你完全一样的存在。

以上是经常会遇到的问题报错,大家学会了就可以自己思考解决方法了这样也利于大家提高自己的水平。

Python 相关文章推荐
Python根据区号生成手机号码的方法
Jul 08 Python
Python语言描述最大连续子序列和
Dec 05 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
Feb 07 Python
python中abs&map&reduce简介
Feb 20 Python
Python对ElasticSearch获取数据及操作
Apr 24 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
Apr 26 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 Python
python基于opencv检测程序运行效率
Dec 28 Python
Python 实现自动获取种子磁力链接方式
Jan 16 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
Python descriptor(描述符)的实现
Nov 15 Python
python中 Flask Web 表单的使用方法
May 20 Python
详解MySQL数据类型int(M)中M的含义
Nov 20 #Python
python制作websocket服务器实例分享
Nov 20 #Python
Flask框架的学习指南之用户登录管理
Nov 20 #Python
Flask框架的学习指南之制作简单blog系统
Nov 20 #Python
Flask框架的学习指南之开发环境搭建
Nov 20 #Python
Python 描述符(Descriptor)入门
Nov 20 #Python
独特的python循环语句
Nov 20 #Python
You might like
PHP 木马攻击防御技巧
2009/06/13 PHP
PHP 引用是个坏习惯
2010/03/12 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
Node.js模块加载详解
2014/08/16 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
2019/05/14 Javascript
小程序根据手机机型设置自定义底部导航距离
2019/06/04 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
python 回调函数和回调方法的实现分析
2016/03/23 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
Python常见数据类型转换操作示例
2019/05/08 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
苹果美国官方商城:Apple美国
2016/08/24 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
捷克多品牌在线时尚商店:ANSWEAR.cz
2020/10/03 全球购物
文秘档案管理岗位职责
2014/03/06 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书