Python教程

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

本文主要是介绍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("只允许整数")

这篇关于Python 异常处理:try、except、else 和 finally 的使用指南的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!