Python:异常处理
学习资料:
https://www.bilibili.com/video/av4050443
1.Python标准异常总结
2.try-except
语句
try:
检测范围
except 异常名[异常内容]:
出现异常后的处理代码
例:
try:
f=open('name file.txt')
print(f.read())
f.close#会报出FileNotFoundError
except OSError as reason:
print('文件出错,错误原因是:'+ str(reason))
#会输出‘文件出错的原因是:reason’
问题:若异常发生在成功打开文件以后,那么程序会直接跳到except语句,那么try中的f.close()
没有被执行,对文件的改动就没有被写入文件。
还可以:
try:
检测范围
except:
print('出错了')
#无论什么类型的错误输出‘出错了’
- try语句一旦检测到异常,剩余语句将不会被执行。
- 一个try语句可跟多个except语句进行错误检测。
- try语句可以同时对多个异常进行统一处理。
try:
检测范围
except(异常名1,异常名2,...):
print('')
3.try-finally
语句
try:
检测范围
except 异常名[as reason]:
出现异常会的处理代码
finally:
一定会被执行的代码
总结:如果try检测范围内没有异常,那么直接跳过except执行finally;如果try中有异常且except中有对应代码,那么执行过except后执行finally。
4.raise
语句
自主引发异常。
raise 异常名('对异常的解释')