【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

猜你喜欢

转载自blog.csdn.net/han1202012/article/details/131364964