为增强程序的健壮性,我们也需要考虑异常处理方面的内容。例如
,在读取文件时需要考虑文件不存在、文件格式不正确等异常情况。这
就是本章要介绍的异常处理
10.1
第一个异常
——
除零异常
在数学中,任何整数都不能除以
0
,如果在计算机程序中将整数除
以
0
,则会引发异常。
示例代码如下:
通过
Python
指令运行文件,输出结果。
10.2
捕获异常
我们不能防止用户输入
0
,但在出现异常后我们能捕获并处理异常
,不至于让程序发生终止并退出。亡羊补牢,为时未晚
10.2.1 try-except
语句
异常捕获是通过
try-except
语句实现的,基本的
try-except
语句的语法
如下。
在
try
代码块中包含在执行过程中可能引发异常的语句,如果没有发
生异常,则跳到
except
代码块执行,这就是异常捕获。
try-except
语句的执行流程如下。
通过
Python
指令运行文件,输出结果。
从运行的结果可以看出,在输入数字
0
后,异常发生,跳到
except
代
码块执行。
将示例代码修改如下:
通过
Python
指令运行文件,输出结果。
10.2.2
多个
except
代码块
多条语句可能会引发多种不同的异常,对每一种异常都会采用不同
的处理方式。针对这种情况,我们可以在一个
try
后面跟多个
except
代码
块,语法如下:
示例代码如下:
通过
Python
指令运行文件,输出结果。
10.2.3
多重异常捕获
示例代码如下:
通过
Python
指令运行文件,输出结果。
10.2.4 try-except
语句嵌套
try-except
语句还可以嵌套,修改
10.2.2
节的示例代码如下:
通过
Python
指令运行文件,输出结果。
10.3
使用
finally
代码块释放资源
有时在
try-except
语句中会占用一些资源,例如打开的文件、网络连
接、打开的数据库及数据结果集等都会占用计算机资源,需要程序员释
放这些资源。为了确保这些资源能够被释放,可以使用
finally
代码块。
在
try-except
语句后面还可以跟一个
finally
代码块,语法如下。
无论是
try
代码块正常结束还是
except
代码块异常结束,都会执行
fin
ally
代码块。
使用
finally
代码块的示例代码如下
通过
Python
指令运行文件,输出结果。
10.5
动动手
——
手动引发异常
示例代码如下:
通过
Python
指令运行文件,输出结果。
10.6
练一练
1
请列举一些常见的异常。
2
手动引发异常的语句有哪些?()
A.throw
B.raise
C.try
D.except
3
判断对错:(请在括号内打
√
或
×
,
√
表示正确,
×
表示错误)。
1
)每个
try
代码块都可以伴随一个或多个
except
代码块,用于处理
tr
y
代码块中所有可能引发的异常。()
2
)为了确保这些资源被释放,可以使用
finally
代码块。()
3
)实现自定义异常类时,需要继承
Exception
类或其子类。()
4)为了提供程序的健壮性,我们应该对所有类型异常都进行捕获 。()
5
)一个整数除以
0
时会引发
ValueError
异常。()
版权声明:本文为tysonchiu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。