嗨客网搜索

Python try else异常处理

Python try else异常处理教程

Python 中,当我们使用 try except 捕获 异常 时,如果希望仅仅当异常没有发生时,继续执行其他的逻辑,那么这时候,我们可以使用 else 语句。

在我们使用 try except else 结构时,同样可以使用 finally 分支,表示一定要执行的代码逻辑。

Python try except else语句详解

语法

try: # 需要检测异常的代码 except Exception: # 异常处理逻辑 else: # 异常没有发生时的逻辑

说明

我们使用 try except else 语句实现了捕获异常的同时,如果异常没有发生,那么执行 else 的逻辑。如果异常发生了,则不会执行 else 的逻辑。

Python try except else finally语句详解

语法

try: # 需要检测异常的代码 except Exception: # 异常处理逻辑 else: # 异常没有发生时的逻辑 finally: # 最终一定要执行的逻辑

说明

我们在使用 try except else 语句时,后面同样可以加上 finally 字句,表示一定要执行的代码逻辑。

案例

Python try except else捕获异常

使用 try except else捕获异常,如果异常没发生,则执行 else 逻辑

if __name__ == '__main__': print("嗨客网(www.haicoder.net)") try: num = input("Please input a number:") print("Your input is:", int(num)) except Exception as e: print("Exception :", e) else: print("well done")

程序运行后,控制台输出如下:

13 python try except else捕获异常.png

我们在捕获 Exception 异常时,使用了 else 语句,实现了如果异常没有发生,也就是没有走到 except 分支, 那么就执行 else 的代码块,这次运行的时候,因为我们输入了一个 字符串 而非 int

因此,这次执行失败,走到了 except 分支,所以没有执行 else 分支的代码,我们再次输入合法的 int 类型的数字,再次运行程序后,控制台输出如下:

14 python try except else捕获异常.png

这次,我们输入了合法的 int 类型的数字,因此没有执行 except 分支的代码,执行了 else 分支的代码,因此,else 实现的功能是如果 except 分支不执行,则执行 else。

Python try except else finally捕获异常

使用 try except else finally 捕获异常,finally 字句同样表示一定要执行的逻辑

if __name__ == '__main__': print("嗨客网(www.haicoder.net)") try: num = input("Please input a number:") print("Your input is:", int(num)) except Exception as e: print("Exception :", e) else: print("well done") finally: print("Call finally")

程序运行后,控制台输出如下:

15 python try except else finally捕获异常.png

运行该程序时,我们输入了一个字符串,因此,程序执行了 except 分支,同时,我们看到 finally 字句的逻辑也被执行了。现在,我们再次输入合法的 int 类型的数字,再次运行程序后,控制台输出如下:

16 python try except else final捕获异常.png

这次,我们输入了合法的 int 类型的数字,因此,没有执行 except 分支,而是执行了 else 分支,但 finally 分支同样被执行了。

Python try else异常处理总结

在 Python 中,当我们使用 try except 捕获异常时,如果希望仅仅当异常没有发生时,继续执行其他的逻辑,那么这时候,我们可以使用 else 语句。

在我们使用 try except else 结构时,同样可以使用 finally 分支,表示一定要执行的代码逻辑。

嗨客网顶部