Python入門進階篇 No.3 —— try...except...else 結構_try...except...finally 結構
阿新 • • 發佈:2021-01-18
技術標籤:# 進階python程式語言程式人生經驗分享windows
Python入門進階篇 No.3 —— try…except…else 結構_try…except…finally 結構
文章目錄
- Python入門進階篇 No.3 —— try...except...else 結構_try...except...finally 結構
- 一、try...except...else 結構
- 二、try...except...finally 結構
- 總結
前生篇:try_except基本結構
後世篇:return 語句和異常處理問題_常見異常的解決_常見異常彙總
基礎篇:小白不看都能懂 —— Python之真功夫系列(全章)
一、try…except…else 結構
- try…except…else 結構增加了“else 塊”。如果 try 塊中沒有丟擲異常,則執行 else 塊。如果try 塊中丟擲異常,則執行 except 塊,不執行 else 塊。
# try...except...else結構執行測試
try:
a = input('請輸入被除數:')
b = input('請輸入除數:')
c = float(a) / float(b)
except BaseException as e:
print(e)
else:
print('除的結果是:', c)
--- ------------------------
# 發生異常的執行情況(執行 except 塊,沒有執行 else):
請輸入被除數:5
請輸入除數:0
float division by zero
----------------------------
# 沒有發生異常的執行情況(執行完 try 塊後,執行 else):
請輸入被除數:10
請輸入除數:2
除的結果是: 5.0
二、try…except…finally 結構
- try…except…finally 結構中,finally 塊無論是否發生異常都會被執行;通常用來釋放 try 塊中申請的資源。
# try...except...finally結構簡單測試
try:
a = input('請輸入一個被除數:')
b = input('請輸入一個除數:')
c = float(a) / float(b)
except BaseException as e:
print(e)
else:
print(c)
finally:
print('無論是否發生異常,都執行!')
-----------------------------------------
請輸入一個被除數:10
請輸入一個除數:0
float division by zero
無論是否發生異常,都執行!
- 讀取檔案,finally 中保證關閉檔案資源
try:
f = open('c:/test', 'r')
content = f.readable()
print(content)
except BaseException as e:
print(e)
finally:
f.close() # 釋放資源,此處也可能會發生異常。若沒有發生異常,則程式終止,不會繼續往下執行.
-------------------------
[Errno 2] No such file or directory: 'c:/test'
Traceback (most recent call last):
File "C:/jetbrains-agent/部落格/基礎篇/基礎篇01.py", line 9, in <module>
content.close()
NameError: name 'content' is not defined
總結
以上幫各位總結好了,收藏,關注即可查收。
前生篇:try_except基本結構
後世篇:return 語句和異常處理問題_常見異常的解決_常見異常彙總
基礎篇:小白不看都能懂 —— Python之真功夫系列(全章)
關注下方公眾號,免費拿Python學習資料!!!