翼度科技»论坛 编程开发 python 查看内容

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

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
异常处理

当发生错误(或我们称之为异常)时,Python 通常会停止执行并生成错误消息。
try 块用于测试一段代码是否存在错误。
except 块用于处理错误。
else 块用于在没有错误时执行代码。
finally 块用于无论 tryexcept 块的结果如何都要执行的代码。
可以使用 try 语句来处理这些异常:
  1. try:
  2.   print(x)
  3. except:
  4.   print("发生了一个异常")
复制代码
由于 try 块引发了一个错误,因此将执行 except 块。
如果没有 try 块,程序将崩溃并引发错误:
  1. print(x)
复制代码
多个异常
您可以定义尽可能多的异常块,例如,如果要为特定类型的错误执行特殊的代码块:
  1. try:
  2.   print(x)
  3. except NameError:
  4.   print("变量 x 未定义")
  5. except:
  6.   print("其他错误")
复制代码
else
您可以使用 else 关键字来定义一段代码,该代码块将在没有错误引发时执行:
  1. try:
  2.   print("Hello")
  3. except:
  4.   print("出现了错误")
  5. else:
  6.   print("没有出错")
复制代码
finally
如果指定了 finally 块,不管 try 块是否引发错误,都将执行该块:
  1. try:
  2.   print(x)
  3. except:
  4.   print("发生了错误")
  5. finally:
  6.   print("'try except' 完成了")
复制代码
这对于关闭对象和清理资源非常有用:
  1. try:
  2.   f = open("demofile.txt")
  3.   try:
  4.     f.write("Lorum Ipsum")
  5.   except:
  6.     print("写入文件时出错")
  7.   finally:
  8.     f.close()
  9. except:
  10.   print("打开文件时出错")
复制代码
程序可以继续运行,而不会保持文件对象处于打开状态。
引发异常
作为 Python 开发人员,您可以选择在发生条件时引发异常。
要引发(或触发)异常,请使用 raise 关键字。
  1. x = -1
  2. if x < 0:
  3.   raise Exception("抱歉,不能小于零")
复制代码
raise 关键字用于引发异常。
您可以定义要引发的错误类型以及要显示给用户的文本:
  1. x = "hello"
  2. if not type(x) is int:
  3.   raise TypeError("只允许整数")
复制代码
最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。
看完如果觉得有帮助,欢迎点赞、收藏关注


来源:https://www.cnblogs.com/xiaowange/p/17809352.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具