一.常见异常

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捕获异常的更多相关文章

  1. python捕获异常及方法总结

    调试Python程序时,经常会报出一些异常,异常的原因一方面可能是写程序时由于疏忽或者考虑不全造成了错误,这时就需要根据异常Traceback到出错点,进行分析改正:另一方面,有些异常是不可避免的,但 ...

  2. Python——捕获异常

    一.什么是异常 """异常:错误,bug处理异常:尝试执行某句可能出现异常的语句, 若出错则用正确的代码去替代. try: 可能发生错误的代码except: 如果出现异常 ...

  3. python捕获异常、处理异常

    https://blog.csdn.net/jmilk/article/details/50047457

  4. 网上都没有提到的教程:python捕获异常后,怎么输出错误文件和行号

    1.假设输出不存在的变量 a try: print(a) except NameError as e: print('发生错误的文件:', e.__traceback__.tb_frame.f_glo ...

  5. python 捕获异常顺序

    catch 异常的时候,有关的异常(若是抛出子类异常,则父类异常的except也算.反之不算)except的语句是按代码顺序执行, 也就是说,当一个异常发生时,从若干except中若遇见异常类基类,父 ...

  6. python 捕获异常详细信息

    import os import sys import traceback BasePath = os.path.dirname(os.getcwd()) sys.path.append(BasePa ...

  7. python 捕获异常

  8. python的运维交流学习笔记

    #!/usr/bin/env | #!/usr/bin/python#coding:gbk #python 运维练习 #需求: #1.利用python实现自动监控服务器性能 #2.并将监控到的数据进行 ...

  9. 用Python爬E站本

    用Python爬E站本 一.前言 参考并改进自 OverJerry 大佬的 教你怎么用Python爬取E站的本子_OverJerry. 本文为技术学习记录,不提供访问无存在网站的任何方法,也不包含不和 ...

随机推荐

  1. Oracle中sign/decode/nvl/round/trunc/(+)/instr/substr/replace解释

    1. sign函数 sign函数语法: sign(n); sign函数说明: 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0(n可以是表达式,(n-200)) 例子: a=10; b=50 ...

  2. Arm Cache学习总结

    cache,高速缓存,其原始意义是指访问速度比一般随机存取内存(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术. 1.cache映射方式 cache中 ...

  3. Python 的__name__属性

    Python 的__name__属性: 一个模块被另一个程序第一次引入时,其主程序将运行. 如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身 ...

  4. 360极速浏览器无法正确getHours

    开发了一个显示时间的功能. 功能是这样的,首先从数据库中读取时间,然后显示到前端页面上. 数据库中:2017-08-10 14:25:35.867 前端显示:2017-08-10T14:25:35.8 ...

  5. ASP.Net 自定义HttpModule注册管道事件

    背景: 一个请求在到达处理器时 可能需要做很多重复的工作 比如使用固定的算法推算出用户id 角色   如果在应用程序各处做重复解析 会产生大量代码冗余 还有能想到的诸如记录访问者 应用日志 统计流量 ...

  6. 解决Win10系统下 C# DateTime 出现星期几的问题 解决ASP.NET MVC 接受Request Playload参数问题

    解决Win10系统下 C# DateTime 出现星期几的问题 昨天晚上写代码的时候偶然发现 DateTime 里出现了星期几,当时一阵凌乱,去网上百度没有详细解决办法,很多人说可以用用 ToStri ...

  7. WebApi接口传参不再困惑(4):传参详解

    前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个笔记,也希望能帮初学者少走弯路.本 ...

  8. javascript和html中unicode编码和字符转义的详解

    1.html中的转义:在html中如果遇到转义字符(如“ ”),不管你的页面字符编码是utf-8亦或者是GB2312,都会直接打印成相应的字符:而当遇到(如:“\u8981”[此处的8981是16进制 ...

  9. 【Android界面实现】View Animation 使用介绍

        转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992     我们能够使用view animation 动画系统来给View控件加入tween动画(下称& ...

  10. debian下运行netstat失败

    如果提示:bash: netstat: command not found 说明没有安装netstat工具,而该工具在 net-tools 工具包内. apt-get install net-tool ...