12-python异常处理(try-except-finally)

异常

  • 程序运行时的错误,对应一个python对象。
    12-python异常处理(try-except-finally)_第1张图片
  • 在程序运行时,解释器尝试执行try语句块中的所有代码。
  • 如果语句块被执行完后没有异常发生,就会忽略except后的代码。
  • 当某个except所指定的异常发生后,会忽略try子句中剩余的语句,直接跳转到对应异常的处理代码处执行。

1. Python中常见的异常

  • IOError:输入/输出异常(基本上是无法打开文件)
  • ImportError:无法导入模块或包(出现这个异常基本上是路径问题或名称错误)
  • IndentationError:缩进错误(代码没有正确对齐)
  • NameError:没有声明、或初始化对象
  • KeyError:试图访问字典里不存在的键
  • AttibuteError:试图访问一个对象没有的属性
  • TypeError:类型不匹配
  • ValueError:传入一个调用者不期望的值,即使值的类型是正确的

2.python异常类的继承关系

12-python异常处理(try-except-finally)_第2张图片

  • Exception
    • 是所有非系统退出类异常类的基类
    • 在编程时,可以通过捕获它,来避免程序遇到错误而退出请添加图片描述

3. finally子句

  • 无论异常是否发生,都会执行
  • 如果try语句块中没有出现任何运行时错误,会跳过except语句块执行finally语句块的内容。
  • 如果出现异常,则会先执行except语句块的内容,再执行finally语句块的内容。
  • finally语句块经常用于关闭资源等清理工作。

4. 代码实现

12-python异常处理(try-except-finally)_第3张图片

你可能感兴趣的:(python,python)