首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Python】异常处理 ④ ( 异常处理 else 语句 | 异常处理 finally 语句 )

【Python】异常处理 ④ ( 异常处理 else 语句 | 异常处理 finally 语句 )

作者头像
韩曙亮
发布于 2023-10-11 19:02:49
发布于 2023-10-11 19:02:49
1.5K0
举报

一、Python 异常捕获 else 语句

1、异常捕获 else 语句

在 Python 中 , try-except 语句块中可以使用 else 语句 ;

else 语句在 try 块中的所有异常都被捕获之前不会执行 ;

如果出现异常 , 就会执行 except 语句内容 ;

如果没有出现异常 , 或者 没有捕获到指定的异常 , 才会执行 else 语句内容 ;

2、代码示例 - 没有触发 else 语句的情况

在下面的代码中 , 在 try 代码块中 , 出现了异常 , 执行的是 except 代码块 , else 代码块没有触发 ;

代码实例 :

代码语言:javascript
复制
"""
异常处理操作 代码示例
"""

try:
    # 可能会引发异常的代码
    result = 10 / 0
    # result = 10 / 0
except Exception as e:
    # 处理异常
    print("发生了异常:", e)
else:
    # 在没有异常的情况下执行的代码
    print("程序执行成功")

执行结果 :

代码语言:javascript
复制
/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 
发生了异常: division by zero

Process finished with exit code 0

3、代码示例 - 触发 else 语句的情况

在下面的代码中 , 在 try 代码块中 , 没有出现了异常 , except 代码块没有执行 , else 代码块触发执行 ;

代码实例 :

代码语言:javascript
复制
"""
异常处理操作 代码示例
"""

try:
    # 可能会引发异常的代码
    result = 10 / 1
except Exception as e:
    # 处理异常
    print("发生了异常:", e)
else:
    # 在没有异常的情况下执行的代码
    print("程序执行成功")

执行结果 :

代码语言:javascript
复制
/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 
程序执行成功

Process finished with exit code 0

二、Python 异常捕获 finally 语句


1、异常捕获 finally 语句

在Python中 , try-except 语句块中可以使用 finally 语句 , 无论异常是否被捕获 , finally 语句都会执行 ;

这使得 finally 语句块中的代码总是在 try 或 except 语句块中的代码之后执行 , 无论是否有异常被捕获 ;

不管是否出现异常 , 都会执行 finally 语句 ;

不管异常是否被捕获 , 都会执行 finally 语句 ;

2、代码示例 - 出现异常后执行 finally 语句

下面的代码中 , 出现了异常 , 该异常被捕获 , finally 最终执行 ;

执行结果 :

代码语言:javascript
复制
"""
异常处理操作 代码示例
"""

try:
    # 可能会引发异常的代码
    result = 10 / 0
except Exception as e:
    # 处理异常
    print("发生了异常:", e)
else:
    # 在没有异常的情况下执行的代码
    print("程序执行成功")
finally:
    # 无论是否有异常都会执行的代码
    print("程序执行完毕")

执行结果 :

代码语言:javascript
复制
/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 
发生了异常: division by zero
程序执行完毕

Process finished with exit code 0
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 一、Python 异常捕获 else 语句
    • 1、异常捕获 else 语句
    • 2、代码示例 - 没有触发 else 语句的情况
    • 3、代码示例 - 触发 else 语句的情况
  • 二、Python 异常捕获 finally 语句
    • 1、异常捕获 finally 语句
    • 2、代码示例 - 出现异常后执行 finally 语句
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档