异常与异常处理
什么是异常
异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。不同的异常被定义为不同的对象,对应不同的错误。
常见异常及其描述
异常名称 | 描述 |
---|---|
Exception | 常规异常的基类 |
ZeroDivisionError | 除数为零 |
IOError | 输入/输出操作失败 |
IndexError | 序列中没有此索引 |
TypeError | 未强制转化混用数据类型 |
ValueError | 常规异常的基类 |
… | … |
异常处理
在python中可以使用try子句来捕捉异常。
try子句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
语法:
以下为简单的try…except…else的语法:
try:
语句
except 异常名称:
捕获异常时处理
else:
未发生异常时处理
程序执行时,try子句会在当前程序的上下文标记,这样当发生异常时就可以回到这里。如果try子句中发生异常,则执行except子句部分进行异常处理;如果try子句执行未发生异常则执行else子句部分。
例 从键盘输入a和b,求a除以b的结果并输出。
try:
a = int(input(''))
b = int(input(''))
c=a/b
except ZeroDivisionError:
print("除数不能为0!")
else:
print(c)
运行结果:
4
5
0.8
输入数据非0,没有触发异常,程序执行else子句部分。
5
0
除数不能为0!
输入b值为0,程序捕获该异常并输出了异常信息,程序执行except子句部分。