什么叫異常?
導致程序異常退出叫做異常
- 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()