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