写点什么

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

作者:小万哥
  • 2023-11-04
    广东
  • 本文字数:802 字

    阅读完需:约 3 分钟

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

异常处理

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


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


except 块用于处理错误。


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


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


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


try:  print(x)except:  print("发生了一个异常")
复制代码


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


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


print(x)
复制代码


多个异常


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


try:  print(x)except NameError:  print("变量 x 未定义")except:  print("其他错误")
复制代码


else


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


try:  print("Hello")except:  print("出现了错误")else:  print("没有出错")
复制代码


finally


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


try:  print(x)except:  print("发生了错误")finally:  print("'try except' 完成了")
复制代码


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


try:  f = open("demofile.txt")  try:    f.write("Lorum Ipsum")  except:    print("写入文件时出错")  finally:    f.close()except:  print("打开文件时出错")
复制代码


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


引发异常


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


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


x = -1
if x < 0: raise Exception("抱歉,不能小于零")
复制代码


raise 关键字用于引发异常。


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


x = "hello"
if not type(x) is int: raise TypeError("只允许整数")
复制代码

最后

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


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



发布于: 刚刚阅读数: 4
用户头像

小万哥

关注

代码如人生 2023-02-09 加入

编程爱好者

评论

发布
暂无评论
Python  异常处理:try、except、else  和 finally 的使用指南_Python_小万哥_InfoQ写作社区