Python中的异常如何处理呢

Python中的异常处理

1. 异常的定义

在执行代码时,Python无法正常处理程序时就会引发一个异常。当异常发生时,则会终止执行下面的代码。所以,我们需要捕获并且处理异常,以致于对后面的代码不会产生较大的影响。

2. 没有异常处理的情况

语句发生错误,程序终止,则下面的代码不会执行。
Python中的异常如何处理呢

3. 异常的处理

如果你不想在异常发生时终止程序,则需要在try语句中进行捕获。

(1)基本语句

使用try/except语句,检测try语句中是否有错误,如果有,则在except语句捕获异常信息并处理,如果没有,则不会执行except语句中的内容。后面的内容会正常进行打印。
Python中的异常如何处理呢

(2)清楚具体类型的错误

如果你清楚你的语句会引发具体的类型的错误,则使用下面的语句捕获异常。(不经常使用)
Python中的异常如何处理呢

(3)不清楚具体类型的错误

如果你不清楚你的语句会引发具体的类型的错误,使用Exception则可以捕获大部分类型的错误。(经常使用)
Python中的异常如何处理呢

(4)抛出异常,则不执行下面的语句

使用raise抛出异常,异常一旦抛出,则终止程序。
Python中的异常如何处理呢

(5)关于else 和 finally

else: 如果try语句没有发生错误,则会执行else语句,如果发生错误,则不会执行。
finally:不管try语句是否发生错误,都会执行finally语句。
Python中的异常如何处理呢

4. 常见的异常类型

NameError------ 使用一个还未被赋予对象的变量
TypeError ------对类型无效的操作
KeyError------ 试图访问字典里不存在的键
IndexError ------下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
ImportError ------无法引入模块或包;基本上是路径问题或名称错误
ZeroDivisionError------除(或取模)零 (所有数据类型)
OSError------操作系统错误
SyntaxError------ Python 语法错误
IndentationError------ 缩进错误
ValueError------ 传入无效的参数
RuntimeError------一般的运行时错误
ImportError-------导入模块/对象失败
AssertionError------断言语句失败