1. 程式人生 > 其它 >Python入門進階篇 No.3 —— try...except...else 結構_try...except...finally 結構

Python入門進階篇 No.3 —— try...except...else 結構_try...except...finally 結構

技術標籤:# 進階python程式語言程式人生經驗分享windows

Python入門進階篇 No.3 —— 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學習資料!!!

在這裡插入圖片描述