编程学习网 > 编程语言 > Python > Python教程:快速掌握Python异常判断的4大结构
2024
04-08

Python教程:快速掌握Python异常判断的4大结构


在python程序在运行的过程中可能会出现很多错误,比如语法、未定义变量、分母为0等错误。

而我们通常使用try...except...语句来处理程序在运行中出现的这些异常,并显示出现错误的原因。
除此之外,还可以用try...finally...来监控错误的环节,并继续执行finally后的语句,但是这种判断结构无法显示出现的错误原因。
因此,在实践中通常将这两种结构组合起来使用。
同时,还可以使用try...except...else...finally的形式来实现更好的稳定性和灵活性设计。
接下来,我们就一起来学习Python中判断异常的4种常用结构。
1. try...except结构

这是最简单的异常处理结构,语法主要如下:
try:
    执行程序
except A:
# (A代表会出现异常的原因,若不知道会出现什么异常,则可将A换成 Exception as error)
    显示出现异常的原因
(1)当知道会出现什么异常时(不推荐使用)
try:
    int(input('请输入一个整数:'))
except ValueError:
    print('出现ValueError错误')
(2)当不知道会出现什么异常时(推荐使用)
try:
    int(input('请输入一个整数:'))
except Exception as error:
    print(f'出现{error}错误')
上面两例子分别展示了知道与不知道异常原因的写法,两种写法各有优势,主要看运用到哪种场景。
2. try...except...finally结构

这种异常判断结构,通常用于无论程序是否发生异常,都正常执行finally中的程序,比如关闭数据库资源,关闭打开的文件等等。例如:
try:
    int(input('请输入一个整数:'))
except Exception as error:
    print(f'出现{error}错误')
finally:
    a = 3 * 4
    print(a)
3. try...except...else结构

这个结构如果try中程序发生异常,则进入except中的程序,如果不发生异常,则进入else中的程序。(跟if...else结构的运行顺序很像)。例如:
try:
    a = int(input('请输入一个整数:'))
except Exception as error:
    print(f'出现{error}错误')
else:
    b = a * 4
    print(b)
4. try...except...else...finally结构

这种结构就是文中最初介绍的结构。具体如下:
try:
    a = int(input('请输入一个整数:'))
except Exception as error:
    print(f'出现{error}错误')
else:
    b = a * 4
    print(b)
finally:
    c = 3 * 4
    print(c)
写在最后

(1)当使用完整的异常处理结构时,需要注意各个块出现的顺序必须是:try --> except X --> except --> else --> finally,即所有的except语句必须在else和finally语句之前,else(若有)必须在finally之前,except X必须在except 语句之前。
(2)else与finally语句都是可有可无,若有,else必须在finally之前,finally始终在异常处理语句结构的最后。

(3)else的存在必须以except X或者except语句为前提,如果没有except X或者except语句就使用else语句会出现语法错误,即else不能与try...finally结构搭配使用。

以上就是Python教程:快速掌握Python异常判断的4大结构的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取