这个try
block 允许您测试代码块是否有错误。
这个except
块可以让您处理错误。
这个else
块允许您在没有错误时执行代码。
这个finally
块允许您执行代码,而不管 try 和 except 块的结果如何。
当发生错误或我们所说的异常时,Python 通常会停止并生成错误消息。
这些异常可以使用以下方法处理try
陈述:
由于 try 块引发错误,因此 except 块将被执行。
如果没有 try 块,程序将崩溃并引发错误:
您可以根据需要定义任意数量的异常块,例如,如果您想针对特殊类型的错误执行特殊的代码块:
如果 try 块引发一个错误,则打印一条消息NameError
另一个错误:
try:
print(x)
except NameError:
print("Variable x is not defined")
except:
print("Something else went wrong")
亲自试一试 »
您可以使用else
关键字定义在没有引发错误的情况下要执行的代码块:
在此示例中,try
块不会产生任何错误:
try:
print("Hello")
except:
print("Something went wrong")
else:
print("Nothing went wrong")
亲自试一试 »
这个finally
如果指定了 block,则无论 try 块是否引发错误,都将执行。
try:
print(x)
except:
print("Something went wrong")
finally:
print("The 'try except' is finished")
亲自试一试 »
这对于关闭对象和清理资源非常有用:
尝试打开并写入不可写的文件:
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("Something went wrong when writing to the file")
finally:
f.close()
except:
print("Something went wrong when opening the file")
亲自试一试 »
程序可以继续,而无需使文件对象保持打开状态。
作为 Python 开发人员,您可以选择在发生情况时抛出异常。
要抛出(或引发)异常,请使用raise
关键字。
这个raise
关键字用于引发异常。
您可以定义要引发的错误类型以及要打印给用户的文本。
如果 x 不是整数,则引发 TypeError:
x = "hello"
if not type(x) is int:
raise TypeError("Only integers are allowed")
亲自试一试 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!