Python捕获异常
一.常见异常
1.语法错误:SyntaxError:invalid syntax
(1)案例:
(1)解决方法:
①查看代码有没有红色波浪线
②熟悉python基本语法
2.变量名不存在:NameError:name 'b' is not defined
(1)案例:
(2)解决方法:
①检查对应的变量名是否有定义并赋值,是否写错了变量名称
3.索引错误:IndexError: list index out of range
(1)案例:
(2)解决方法:
①检查lis对象索引选择是否超出了本来的长度
4.关键字错误:KeyError: 'c'
(1)案例:
(2)解决方法:
①检查字典里是否存在这个key值
5.类型错误:TypeError: list indices must be integers, not str
(1)案例:
(2)解决方法:
①检查清楚数据类型是否有误
6.参数传值错误:ValueError: invalid literal for int() with base 10: 'ab'(主要发生在函数里面)
(1)案例:
(2)解决方法:
①弄清楚形参的数据类型
②再传对应形参的数据类型
7.属性错误:AttributeError: A instance has no attribute 'acc'
(1)案例:
(2)解决方法:
①检查类里是否存在这个被调用的方法
②一般不能自动匹配出方法的多半有问题
8.输入输出错误:IOError
(1)案例:
(2)解决方法:
①找到代码中关于输入输出的相关操作
②检查文件路径和名称对不对
二.常见异常总结
1.SynataxError:语法错误
2.NameError:试图访问的变量名不存在
3.IndexError:索引错误,使用的所以你不存在,常为索引超出序列范围
4.KeyError:使用了映射中不存在的关键字(键)时引发的关键字错误
5.TypeError:类型错误,内建操作或是函数应于在错误类型的对象时会引发类型错误
6.ValueError:值错误,传给对象的参数类型不正确,例如给int()函数传入了字符串数据类型
7.AttributeError:属性错误,特性引用和赋值失败时会引发属性错误
8.IOError:输入输出错误
异常不局限于以上八中,这只是很常见的八种异常
三.捕获异常
1.try...except组合语法
(1)代码:
try:
正常的操作
except:
发生异常,执行这块代码
(2)案例:
2.try...except...else组合语法
(1)代码:
try:
正常的操作
except:
发生异常,执行这块代码
else:
如果没有异常,执行这块代码
(2)案例:
3.try...except...except(多个异常处理)
(1)代码:
try:
正常的操作
except A:
发生异常A,执行这块代码
except B:
发生异常B,执行这块代码
except:
发生其它异常,执行这块代码
else:
如果没有异常,执行这块代码
(2)案例:
4.try...except(A,B)(一次捕获多个异常)
(1)代码:
try:
正常的操作
except(A,B):
发生异常A和B,执行这块代码
(2)案例:
5.try...except...finally组合语法:(try...finally也可以)
(1)代码:
try:
正常的操作
except:
发生异常,执行这块代码
else:
如果没有异常,执行这块代码
finally:
不管有没有异常,都执行这块代码
(2)案例:
6.try...except(嵌套)
(1)代码:
try:
正常的操作
try:
正常的操作
finally:
不管有没有异常,都执行这块代码
except A:
发生异常,执行这块代码
(2)案例:
四.处理异常(在脚本执行不成功时,我们希望能把信息打印出来)
1.如果已经知道会发生什么异常:
2.不知道会发生什么异常(万能的)---------所有的异常都继承Exception
Python捕获异常的更多相关文章
- python捕获异常及方法总结
调试Python程序时,经常会报出一些异常,异常的原因一方面可能是写程序时由于疏忽或者考虑不全造成了错误,这时就需要根据异常Traceback到出错点,进行分析改正:另一方面,有些异常是不可避免的,但 ...
- Python——捕获异常
一.什么是异常 """异常:错误,bug处理异常:尝试执行某句可能出现异常的语句, 若出错则用正确的代码去替代. try: 可能发生错误的代码except: 如果出现异常 ...
- python捕获异常、处理异常
https://blog.csdn.net/jmilk/article/details/50047457
- 网上都没有提到的教程:python捕获异常后,怎么输出错误文件和行号
1.假设输出不存在的变量 a try: print(a) except NameError as e: print('发生错误的文件:', e.__traceback__.tb_frame.f_glo ...
- python 捕获异常顺序
catch 异常的时候,有关的异常(若是抛出子类异常,则父类异常的except也算.反之不算)except的语句是按代码顺序执行, 也就是说,当一个异常发生时,从若干except中若遇见异常类基类,父 ...
- python 捕获异常详细信息
import os import sys import traceback BasePath = os.path.dirname(os.getcwd()) sys.path.append(BasePa ...
- python 捕获异常
- python的运维交流学习笔记
#!/usr/bin/env | #!/usr/bin/python#coding:gbk #python 运维练习 #需求: #1.利用python实现自动监控服务器性能 #2.并将监控到的数据进行 ...
- 用Python爬E站本
用Python爬E站本 一.前言 参考并改进自 OverJerry 大佬的 教你怎么用Python爬取E站的本子_OverJerry. 本文为技术学习记录,不提供访问无存在网站的任何方法,也不包含不和 ...
随机推荐
- 2、jQuery选择器
2.1 基本选择器 它有元素Id.Class.元素名.多个选择符组成,通过基本选择器可以实现大多数页面元素的查找. 选择器 功能 返回值 #id 根据给定的ID匹配一个元素 单个元素 element ...
- 【Hadoop】01_从官网下载Hadoop
在[Linux]Ctentos下载我已经描述了如何去下载Centos 进入到Hadoop官网 http://hadoop.apache.org/ 点击"releases",跳转后, ...
- Codeforces 474D Flowers 动态规划法
话说好久没写算法代码了,工作了有点忙的了.只是算法始终是我的挚爱,故此还是尽量抽时间和挚爱来个约会. Codeforces的题目是最适合练手的了,以下是一道不算难的动态规划法题目.先上题: D. Fl ...
- JavaScript中使用JSON,即JS操作JSON总结
JSON(JavaScript Object Notation 对象标记) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生 ...
- poj1860--Currency Exchange
Bellman-ford算法的反向应用--正循环检查 /** \brief poj 1860 Bellman-Ford * * \param date 2014/7/24 * \param state ...
- [elk]logstash&filebeat常用语句
filebeat安装dashboard 参考: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-star ...
- PHPCMS模块开发相关文件
名称 类型说明 Guestbook 模块后台控制器 index 模块前台控制器 Install 安装文件夹 ├templates ├config.inc.php ├extention.inc.php ...
- POJ 2409 Let it Bead(Polya简单应用)
Let it Bead 大意:给你m种颜色,n个珠子串起来.旋转跟反转同样算同样,问有多少种不同的涂色组合方式. 思路:Polya的简单应用. /*************************** ...
- Go快速入门
整理一些Go最基本的语法,旨在快速入门. 最简单的hello world package main import "fmt" func main() { fmt.Println(& ...
- dedecms使用
使用到了dedecms内容管理系统,遇到两个问题: 1.点击登录后,没有登录进去也没有任何提示,一片空白 解决办法:我是把网站从云主机拷贝下来的,但是忘了云主机上的数据库密码和自己本地的数据库密码不一 ...