600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 【Python】异常处理 ④ ( 异常处理 else 语句 | 异常处理 finally 语句 )

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

时间:2022-03-20 04:50:44

相关推荐

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

文章目录

一、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 / 0except Exception as e:# 处理异常print("发生了异常:", e)else:# 在没有异常的情况下执行的代码print("程序执行成功")

执行结果 :

/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 发生了异常: division by zeroProcess finished with exit code 0

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

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

代码实例 :

"""异常处理操作 代码示例"""try:# 可能会引发异常的代码result = 10 / 1except 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 / 0except 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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。