Python异常处理和异常类型


python2.x捕获异常语法:

try:    ...some functions...except Exception, e:    print(e)

python3.x捕获异常语法:

try:    ...some functions...except Exception as e:    print(e)

注意这里 Exception, e 变成了 Exception as e

python常见的异常类型

1. NameError:尝试访问一个未申明的变量

>>> vNameError: name 'v' is not defined

2. ZeroDivisionError:除数为0

>>> v = 1/0ZeroDivisionError: int division or modulo by zero

3. SyntaxError:语法错误

int intSyntaxError: invalid syntax (<pyshell#14>, line 1)

4. IndexError:索引超出范围

List = [2]>>> List[3]Traceback (most recent call last):  File "<pyshell#18>", line 1, in <module>    List[3]IndexError: list index out of range

5. KeyError:字典关键字不存在

Dic = {'1':'yes', '2':'no'}>>> Dic['3']Traceback (most recent call last):  File "<pyshell#20>", line 1, in <module>    Dic['3']KeyError: '3'

6. IOError:输入输出错误

>>> f = open('abc')IOError: [Errno 2] No such file or directory: 'abc'

7. AttributeError:访问未知对象属性

>>> class Worker: def Work():  print("I am working")>>> w = Worker()>>> w.aTraceback (most recent call last):  File "<pyshell#51>", line 1, in <module>    w.aAttributeError: 'Worker' object has no attribute 'a'

8.ValueError:数值错误

>>> int('d')Traceback (most recent call last):  File "<pyshell#54>", line 1, in <module>    int('d')ValueError: invalid literal for int() with base 10: 'd'

9. TypeError:类型错误

>>> iStr = '22'>>> iVal = 22>>> obj = iStr + iVal;Traceback (most recent call last):  File "<pyshell#68>", line 1, in <module>    obj = iStr + iVal;TypeError: Can't convert 'int' object to str implicitly

10. AssertionError:断言错误

>>> assert 1 != 1Traceback (most recent call last):  File "<pyshell#70>", line 1, in <module>    assert 1 != 1AssertionError

11.MemoryError:内存耗尽异常

12. NotImplementedError:方法没实现引起的异常

class Base(object):    def __init__(self):        pass    def action(self):        #抛出异常,说明该接口方法未实现        raise NotImplementedError

13. LookupError:键、值不存在引发的异常

LookupError异常是IndexError、KeyError的基类, 如果你不确定数据类型是字典还是列表时,可以用LookupError捕获此异常

14. StandardError 标准异常

除StopIteration, GeneratorExit, KeyboardInterrupt 和SystemExit外,其他异常都是StandarError的子类。

错误检测与异常处理区别在于:错误检测是在正常的程序流中,处理不可预见问题的代码,例如一个调用操作未能成功结束。

(0)

相关推荐

  • 通过“四不要”,掌握 Python 的 Lambda 函数

    原文地址:Master Python Lambda Functions With These 4 Don'ts 原文作者:Yong Cui, Ph.D. 译文出自:掘金翻译计划 本文永久链接:http ...

  • RealPython 基础教程:Python 字典用法详解

    在连续编写了5篇和 list 相关的文章之后,我们继续<RealPython 基础教程>这个系列. 今天,我们要学习的数据结构是字典(dict). dict 是一个包含若干对象的集合.它和 ...

  • Java异常处理(异常基本概念)

    一:异常的基本概念 当我们的程序在运行中出现了不合理的地方则会出现异常,异 常就是终止程序运行的指令,当一行代码出现异常之后,那么后面的代码就不再继续执行,如果要让后面的代码继续需要将异常处理,异常处 ...

  • MET患者必备攻略!常见基因异常类型、治疗方案都总结好了

    人体的MET基因出现异常时,不仅会导致肿瘤细胞不断增殖和转移,还会出现癌症治疗过程中使某些靶向药耐药的情况.你知道MET基因异常都有哪些类型,目前又有哪些靶向药可以治疗吗? 这篇文章就将介绍MET基因 ...

  • 胰岛素、C肽释放试验报告不会看?教你解读这三类最常见的异常类型

    *仅供医学专业人士阅读参考 带你解读糖代谢异常者最常见的3种胰岛素.C肽释放试验结果 在内分泌科,糖尿病患者特别是初诊的患者,常常需要检查胰岛功能.检查胰岛功能主要的方法是胰岛素.C肽释放试验,这两个 ...

  • 一文看懂Python异常处理(exception, try和raise语句)

    一个Python程序在运行时,如果解释器遇到到一个错误,会停止程序的执行,并且提示一些错误信息,这就是异常(Exception).即便Python程序的语法是正确的,还是会有各种各样意想不到的异常或错 ...

  • 第16天:Python 错误和异常

    作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,这些报错信息就是我们接下来要讲的错误和异常. 我们在执行程序语句的时候,经常会看到命令行输出报错信息,例如: > ...

  • Python 异常处理 | 菜鸟教程

    Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. 断言 ...

  • python函数的参数类型总结

    定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号,然后在缩进块中编写函数体,函数的返回值用return语句返回. def power(x, n=2): ...

  • Python异常处理

    Python异常处理,Python开发工程师们在工作的过程中经常会遇到这样或者那样的问题,本篇文章给读者们分享一下Python异常处理,对Python开发技术感兴趣的小伙伴随小编来了解一下吧. 定义: ...

  • 深入 Python 异常处理

    (给Python开发者加星标,提升Python技能) 来源:Python之王-小sen [导语]:本文结合例程总结Python异常处理的相关知识,帮你深入理解python异常处理. 在Python 中 ...