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. 本文为技术学习记录,不提供访问无存在网站的任何方法,也不包含不和 ...
随机推荐
- react-redux 中 connect 的常用写法
1.方式一 export default connect(({ monitorRedux })=>{ return { data: monitorRedux.data } })(Monitor) ...
- 【leetcode】Reorder List (python)
问题的思路是这样: 循环取头部合并,事实上也能够换个角度来看,就是将后面的链表结点,一次隔空插入到第一部分的链表中. class Solution: # @param head, a ListNode ...
- js设置百分比保留两位小数
CreateTime--2017年8月23日11:03:31Author:Marydon js设置百分比保留两位小数 错误用法: var percent = (num1/num2) * 100%; ...
- IOS炫酷的引导界面
代码地址如下:http://www.demodashi.com/demo/11246.html 一.准备工作 1.先用时ps工具制作好图片 2.然后计算好每张图片通过滑动视图的偏移量来改变图片的位置 ...
- ASP.NET绑定CHECKBOXLIST--------JQUERY绑定CLICK事件,获取CHECKBOX的VALUE和显示值
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs ...
- Struts2架构分析和执行机制
实例分析 1.在浏览器中输入url地址后,会通过http协议发送给tomcat,tomacat收到请求后查看訪问的是哪个 webapplication(例如以下图的Struts2_0100_Intro ...
- CentOS下安装man手册
1.命令: yum install man 后发现,有的函数仍然没有.经过一番查找,原来安装的不完全,还要执行下面命令: yum install man-pages 2.总结:cengos下安装man ...
- Jetty - LifeCycle源码分析
1. 描述 基于Jetty-9.4.8.v20171121. LifeCycle主要管理Jetty里面通用组件的生命周期,比如组件启动中.启动.运行.停止中.停止等,实现该接口就可以定义一套生命周期. ...
- 新标准C++程序设计读书笔记_继承和多态
简单继承的例子: #include <iostream> #include <string> using namespace std; class CStudent { pri ...
- 天猫 小游戏 24 point
游戏规则:给你四个整数,当然他给的是有解的,然后用' + - * / ( ) ,这几种符号任意组合,使运算结果等于24; 用代码快速解决问题,呵呵... #include<io ...