python的异常处理

时间:2021-08-11 23:59:51

python 的异常

 

异常的类型:

Exception                 所有异常的基类

AttributeError           特性应用或者赋值失败时引发

IOError                     试图打开不存在的文件时引发

IndexError                在使用序列中不存在的索引时引发

KeyError                   在使映射不存在的键时引发

NameError                 在找不到名字(变量)时引发

SyntaxError               在代码为错误形式时引发

TypeError                  在内建操作或者函数应用于错误类型的对象时引发

ValueError                 在内建操作或者函数应用于正确类型的对象,但是该对象使用不合适的值时引发

ZeroDivisionError        在除法或者摸除操作的第二个参数为0时引发

python处理异常的try语句有两种风格
一种是处理异常(try/except/else)
二种是无论是否发生异常都将执行最后的代码(try/finally)

try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。

1、如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
2、如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
3、如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。

ex:

try:
    x=input('Enter the first number:')
    y=input('Enter the second number:')
    print x/y
except Exception,e:
    print e