版权所有,未经许可,禁止转载
try
块让你可以检测代码块中的错误。
except
块让你可以处理错误。
finally
块让你可以执行最终代码,不管try
与except
块的结果如何,finally
块的代码都将执行。
当错误(或者异常)发生时,Python通常会停止执行,并报错。
这些异常可以使用try
/except
语句处理:
示例
下面try
块会产生异常,因为x
没有定义:
try:
print(x)
except:
print("发生异常")
因为try
块引发错误,所以except
块将被执行。
如果没有try
块,程序将崩溃并引发错误:
示例
这个语句会产生一个错误,因为x
没有定义:
print(x)
可以定义多个except
,例如,可以为一种特殊错误定义一个专门的except代码块:
示例
这个语句会产生一个错误,因为x
没有定义:
try:
print(x)
except NameError:
print("变量x没有定义")
except:
print("其他错误")
可以使用else
关键字来定义一个代码块,如果没有错误发生,else
代码块将被执行:
示例
在这个例子中,try块不会产生任何错误:
try:
print("你好")
except:
print("出错了")
else:
print("一切正常")
如果定义了finally
块,则无论try
块是否引发错误,都会执行finally
块。
示例
try:
print(x)
except:
print("出错了")
finally:
print("'try except'处理结束")
这对于关闭对象、清理资源非常有用:
示例
尝试写一个不可写的文件:
try:
f = open("test.txt")
f.write("奇客谷教程")
except:
print("写文件出错了")
finally:
f.close() # 关闭文件
文件被关闭。
原文:https://www.cnblogs.com/haibianren/p/11848259.html