一 什么是异常

异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。
异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

二 异常类型:

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。
异常处理: 本站Python教程会具体介绍。
断言(Assertions):本站Python教程会具体介绍。
python之异常处理
python之异常处理
python之异常处理

三 异常处理

异常处理可用于当不知道程序是否报错的环境,一般的,当程序报错后就会停止运行,而当使用异常处理机制时其异常不会导致程序的终止,而是会是程序按顺序向下执行。

1 当没有定义变量a时

抛出NameError 的异常
python之异常处理

2 当使用try 进行尝试执行

使用except 进行捕获异常时,其不会报错,as 表示将异常重命名。
python之异常处理

3 当存在两个错误时

try 默认只执行第一个错误,若第一个错误没有捕获到异常时,将会报错,并且下面的语句将不再执行。
python之异常处理
当有异常时,except会一个接一个的捕获,当直到最后如果没有捕获到异常,则报错
python之异常处理
python之异常处理

4 当异常不再捕获范围内时

则报错,不执行下面的语句
python之异常处理
缺点: 当其异常不再try 的第一个异常时,则不能被匹配且不会被执行,此时可使用finally:

5 finally

是必须被执行的语句
python之异常处理

6 Exception 异常

属于所有异常的父类,当使用此异常捕获时,所有的异常都在其范围内,因此不会报错
python之异常处理

7 抛出异常:

当执行不存在的异常时,需要使用类进行构造并使用
python之异常处理

四 总结:

需要捕获异常的代码块,必须执行,如遇到异常,跳转到except语句。
如果异常能被except后面的error捕获,则执行except语句的内容,然后执行finally。
如果异常不能被except后面的erro捕获,则直接执行finally里面的内容。