最牛的设计网站建设,番禺人才网招聘网,5118网站的功能,抚顺网站seo四周三次课#xff08;11月8日#xff09;异常即是一个事件#xff0c;该事件会在程序执行过程中发生#xff0c;影响了程序的正常执行。一般情况下#xff0c;在Python无法正常处理程序时就会发生一个异常。异常是Python对象#xff0c;表示一个错误。当Python脚本发生异… 四周三次课11月8日异常即是一个事件该事件会在程序执行过程中发生影响了程序的正常执行。一般情况下在Python无法正常处理程序时就会发生一个异常。异常是Python对象表示一个错误。当Python脚本发生异常时我们需要捕获处理它否则程序会终止执行。最常用异常的形式一、 异常的常用形式我们平时工作中最长用到的异常处理的形式try: 正常的操作 ......................except: 发生异常执行这块代码 ......................else: 如果没有异常执行这块代码finally: 不管如何最后一定要执行的代码例子try:10/0
except Exception as e:print aaaaaaa, e# raise e
else:print(ok)
finally:print(finally)结果aaaaaaa integer division or modulo by zero
finally解释10/0捕获到这个异常直接打印aaaaaaa和异常信息最后打印finally。当我们把10/0改成10/2的时候try:10/2
except Exception as e:print aaaaaaa, e# raise e
else:print(ok)
finally:print(finally)结果ok
finally解释没有捕获到异常直接走else最后还是需要走finally不管有没有捕获异常finally是最后都需要执行的。二、 异常处理方法Excepthion异常类Excepthion是所有的异常基础类()对于python的标准异常我们列出如下以做参考异常名称描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopIteration迭代器没有更多的值GeneratorExit生成器(generator)发生异常来通知退出StandardError所有的内建标准异常的基类ArithmeticError所有数值计算错误的基类FloatingPointError浮点计算错误OverflowError数值运算超出最大限制ZeroDivisionError除(或取模)零 (所有数据类型)AssertionError断言语句失败AttributeError对象没有这个属性EOFError没有内建输入,到达EOF 标记EnvironmentError操作系统错误的基类IOError输入/输出操作失败OSError操作系统错误WindowsError系统调用失败ImportError导入模块/对象失败LookupError无效数据查询的基类IndexError序列中没有此索引(index)KeyError映射中没有这个键MemoryError内存溢出错误(对于Python 解释器不是致命的)NameError未声明/初始化对象 (没有属性)UnboundLocalError访问未初始化的本地变量ReferenceError弱引用(Weak reference)试图访问已经垃圾回收了的对象RuntimeError一般的运行时错误NotImplementedError尚未实现的方法SyntaxErrorPython 语法错误IndentationError缩进错误TabErrorTab 和空格混用SystemError一般的解释器系统错误TypeError对类型无效的操作ValueError传入无效的参数UnicodeErrorUnicode 相关的错误UnicodeDecodeErrorUnicode 解码时的错误UnicodeEncodeErrorUnicode 编码时错误UnicodeTranslateErrorUnicode 转换时错误Warning警告的基类DeprecationWarning关于被弃用的特征的警告FutureWarning关于构造将来语义会有改变的警告OverflowWarning旧的关于自动提升为长整型(long)的警告PendingDeprecationWarning关于特性将会被废弃的警告RuntimeWarning可疑的运行时行为(runtime behavior)的警告SyntaxWarning可疑的语法的警告UserWarning用户代码生成的警告 三、 raise关键字的使用raise用来触发异常语法如下raise [Exception [, args [, traceback]]]语句中Exception是异常的类型例如NameError参数是一个异常参数值。该参数是可选的如果不提供异常的参数是None。最后一个参数是可选的在实践中很少使用如果存在是跟踪异常对象。try:10/0
except Exception as e:print aaaaaaa, eraise e
else:print(ok)
finally:print(finally)
print(hello world)结果aaaaaaa integer division or modulo by zero
finally
Traceback (most recent call last):File D:/pycharm/20171101.py, line 10, in moduleraise e
ZeroDivisionError: integer division or modulo by zero解释raise关键字就是捕获到异常并抛出。程序运行终止。但是finally还是会执行的。所以最后的helloworld没有打印出来。 转载于:https://blog.51cto.com/13406610/1979928