威凡网全力打造:网页编程、软件开发编程、平面设计、服务器端开发、操作系统等在线学习平台!学编程,上威凡网!
python教程>> python基础 python进阶 python高级 python技巧
当前位置:首页 > python教程 > python进阶
上一节 下一节
 Python Try Except
  • python pip

try 块允许您测试代码块以查找错误。

except 块允许您处理错误。

finally 块允许您执行代码,无论 try 和 except 块的结果如何。

异常处理

当我们调用 python 并发生错误或异常时,通常会停止并生成错误消息。

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

实例

try 块将生成异常,因为 x 未定义:

try:
  print(x)
except:
  print("an exception occurred")

运行实例

由于 try 块引发错误,因此会执行 except 块。

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

实例

该语句将引发错误,因为未定义 x:

print(x)

运行实例

多个异常

您可以根据需要定义任意数量的 exception 块,例如,假如您要为特殊类型的错误执行特殊代码块:

实例

如果 try 块引发 nameerror,则打印一条消息,如果是其他错误则打印另一条消息:

try:
  print(x)
except nameerror:
  print("variable x is not defined")
except:
  print("something else went wrong")

运行实例

else

如果没有引发错误,那么您可以使用 else 关键字来定义要执行的代码块:

实例

在本例中,try 块不会生成任何错误:

try:
  print("hello")
except:
  print("something went wrong")
else:
  print("nothing went wrong")

运行实例

finally

如果指定了 finally 块,则无论 try 块是否引发错误,都会执行 finally 块。

实例
try:
  print(x)
except:
  print("something went wrong")
finally:
  print("the 'try except' is finished")

运行实例

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

实例

试图打开并写入不可写的文件:

try:
  f = open("demofile.txt")
  f.write("lorum ipsum")
except:
  print("something went wrong when writing to the file")
finally:
  f.close()

运行实例

程序可以继续,而且不会打开文件对象。

引发异常

作为 python 开发者,您可以选择在条件发生时抛出异常。

如需抛出(引发)异常,请使用 raise 关键词。

实例

假如 x 小于 0,则引发异常并终止程序:

x = -1

if x < 0:
  raise exception("sorry, no numbers below zero")

运行实例

raise 关键字用于引发异常。

您能够定义所引发异常的类型、以及打印给用户的文本。

实例

如果 x 不是整数,则引发 typeerror:

x = "hello"

if not type(x) is int:
  raise typeerror("only integers are allowed")

运行实例

  • python pip

申明:本教程内容由威凡网编辑整理并提供IT程序员分享学习,如文中有侵权行为,请与站长联系(QQ:254677821)!
上一节 下一节
相关教程  
其他教程  
python基础
python进阶
python高级
python技巧

违法和不良信息举报中心】邮箱:254677821@qq.com
Copyright©威凡网 版权所有 苏ICP备2023020142号
站长QQ:254677821