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





一、Python 异常捕获 else 语句




1、异常捕获 else 语句


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

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

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

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


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


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


代码实例 :

"""
异常处理操作 代码示例
"""

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

执行结果 :

/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 代码块触发执行 ;


代码实例 :

"""
异常处理操作 代码示例
"""

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

执行结果 :

/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 最终执行 ;

执行结果 :

"""
异常处理操作 代码示例
"""

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

执行结果 :

/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 
发生了异常: division by zero
程序执行完毕

Process finished with exit code 0

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值