Python 异常处理(Try...Except)
版权所有,未经许可,禁止转载
章节
- Python 介绍
- Python 开发环境搭建
- Python 语法
- Python 变量
- Python 数值类型
- Python 类型转换
- Python 字符串(String)
- Python 运算符
- Python 列表(list)
- Python 元组(Tuple)
- Python 集合(Set)
- Python 字典(Dictionary)
- Python If … Else
- Python While 循环
- Python For 循环
- Python 函数
- Python Lambda
- Python 类与对象
- Python 继承
- Python 迭代器(Iterator)
- Python 模块
- Python 日期(Datetime)
- Python JSON
- Python 正则表达式(RegEx)
- Python PIP包管理器
- Python 异常处理(Try…Except)
- Python 打开文件(File Open)
- Python 读文件
- Python 写文件
- Python 删除文件与文件夹
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() # 关闭文件
文件被关闭。