异常
- 程序运行时的错误,对应一个python对象。
- 在程序运行时,解释器尝试执行try语句块中的所有代码。
- 如果语句块被执行完后没有异常发生,就会忽略except后的代码。
- 当某个except所指定的异常发生后,会忽略try子句中剩余的语句,直接跳转到对应异常的处理代码处执行。
1. Python中常见的异常
- IOError:输入/输出异常(基本上是无法打开文件)
- ImportError:无法导入模块或包(出现这个异常基本上是路径问题或名称错误)
- IndentationError:缩进错误(代码没有正确对齐)
- NameError:没有声明、或初始化对象
- KeyError:试图访问字典里不存在的键
- AttibuteError:试图访问一个对象没有的属性
- TypeError:类型不匹配
- ValueError:传入一个调用者不期望的值,即使值的类型是正确的
2.python异常类的继承关系
- Exception
- 是所有非系统退出类异常类的基类
- 在编程时,可以通过捕获它,来避免程序遇到错误而退出
3. finally子句
- 无论异常是否发生,都会执行
- 如果try语句块中没有出现任何运行时错误,会跳过except语句块执行finally语句块的内容。
- 如果出现异常,则会先执行except语句块的内容,再执行finally语句块的内容。
- finally语句块经常用于关闭资源等清理工作。