文章目录
- 一、Python 异常捕获 else 语句
- 1、异常捕获 else 语句
- 2、代码示例 - 没有触发 else 语句的情况
- 3、代码示例 - 触发 else 语句的情况
- 二、Python 异常捕获 finally 语句
- 1、异常捕获 finally 语句
- 2、代码示例 - 出现异常后执行 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