您现在的位置是:首页 > 技术教程 正文

Python 异常处理:try、except、else 和 finally 的使用指南

admin 阅读: 2024-03-25
后台-插件-广告管理-内容页头部广告(手机)

异常处理

当发生错误(或我们称之为异常)时,Python 通常会停止执行并生成错误消息。

try 块用于测试一段代码是否存在错误。

except 块用于处理错误。

else 块用于在没有错误时执行代码。

finally 块用于无论 tryexcept 块的结果如何都要执行的代码。

可以使用 try 语句来处理这些异常:

try: print(x) except: print("发生了一个异常")
  • 1
  • 2
  • 3
  • 4

由于 try 块引发了一个错误,因此将执行 except 块。

如果没有 try 块,程序将崩溃并引发错误:

print(x)
  • 1

多个异常

您可以定义尽可能多的异常块,例如,如果要为特定类型的错误执行特殊的代码块:

try: print(x) except NameError: print("变量 x 未定义") except: print("其他错误")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

else

您可以使用 else 关键字来定义一段代码,该代码块将在没有错误引发时执行:

try: print("Hello") except: print("出现了错误") else: print("没有出错")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

finally

如果指定了 finally 块,不管 try 块是否引发错误,都将执行该块:

try: print(x) except: print("发生了错误") finally: print("'try except' 完成了")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这对于关闭对象和清理资源非常有用:

try: f = open("demofile.txt") try: f.write("Lorum Ipsum") except: print("写入文件时出错") finally: f.close() except: print("打开文件时出错")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

程序可以继续运行,而不会保持文件对象处于打开状态。

引发异常

作为 Python 开发人员,您可以选择在发生条件时引发异常。

要引发(或触发)异常,请使用 raise 关键字。

x = -1 if x < 0: raise Exception("抱歉,不能小于零")
  • 1
  • 2
  • 3
  • 4

raise 关键字用于引发异常。

您可以定义要引发的错误类型以及要显示给用户的文本:

x = "hello" if not type(x) is int: raise TypeError("只允许整数")
  • 1
  • 2
  • 3
  • 4

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

在这里插入图片描述

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索