0%

9.Python-异常

Python——异常

程序运行时,若出现:

  • 使用变量前未赋值
  • 序列中使用不存在的索引值
  • 除0

则会抛出异常,程序终止

9.1 处理异常

1
2
3
4
5
6
7
8
try:
代码块(可能出现错误语句)
except:
代码块(出现错误处理方式)
else:
代码块(没出错执行语句)
finally:
代码块(最后都会执行语句)
  • try 必须有
  • except 或者 finally 至少有一个

9.2 异常抛出

  1. 在函数中出现的异常并进行处理,则不会继续传播
  2. 若在异常出现处为处理,则继续向调用出传播,直到全局作用域
  3. 全局作用域未处理,则终止程序,显示异常信息

  • 所有的异常信息都会被保存到异常对象中
  • 异常传播是将异常对象抛给调用处

9.3 异常对象

异常类含义
ZeroDivisionError表示除0异常
NameError处理变量错误异常
IndexError索引异常

捕获异常对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
try:
代码块
except 异常类型:
# 加上异常类型,只捕获特定类型异常
代码块
except 异常类型:
pass
except Exception as 异常名:
# except后不加内容,捕获到所有异常
# Exception 是所有异常的父类
pass
finally:
#无论是否出现异常,该子句都会执行
pass

9.4 自定义异常对象

使用 raise 抛出异常

  • raise 异常类或异常实例(异常信息)

所有异常都必须是 Exception

1
2
class MyError(Exception):
pas
-------------本文结束-------------