什么叫異常?
導致程序異常退出叫做異常
- try...except...else
- 如果要抓取某種特定異常可以用except ERROR as e
- else:如果程序正常執行那么會執行else里面的代碼
- finally:不管程序是否正常都會執行finally里面的代碼塊
# 異常處理的格式:
try:
CMD #要處理的程序
except:
RESULT #發現異常時你要如何處理
eg:
try:
n += 1
except:
print('錯誤')
結果:
錯誤
#如果要抓取某種特定異常可以用except ERROR as e
try:
n += 1
except NameError as e:
print(e)
結果:
name 'n' is not defined
try:
n = 1 + '1'
except TypeError as e:
print(e)
結果:
unsupported operand type(s) for +: 'int' and 'str'
#else:如果程序正常執行那么會執行else里面的代碼
try:
n = 1 + '1'
except:
print('異常')
else:
print('沒有異常')
結果:
異常
#finally 的作用:不管異常與否,都會運行finally里的代碼
try:
n = 1 + '1'
except:
print('異常')
finally:
print('最后的代碼')
結果:
異常
最后的代碼
#打開文件,如果異常 f.write(b'中文'),但是f = open('XXX.txt','r')沒問題,因此,f還殘留在內存當中。這時可以用到finally,不管程序是否成功,都關閉打開的文件
try:
f = open('XXX.txt','r')
f.write(b'中文')
except:
print('異常')
finally:
f.close()
