首頁 > 後端開發 > Python教學 > 為什麼 Python 中的「 except 」子句被認為是不好的做法?

為什麼 Python 中的「 except 」子句被認為是不好的做法?

DDD
發布: 2024-12-14 10:10:16
原創
910 人瀏覽過

Why is a Bare `except` Clause in Python Considered Bad Practice?

裸「例外」的危險

在使用PyAutoGui 設計一個函數來驗證螢幕上圖片是否存在時,您採用了以下方法:

雖然此函數看起來按預期運行,但PyCharm 將裸露的「例外」標記為不可取。這引起了人們對不加修飾的「例外」的影響的擔憂。

裸「例外」的問題

裸露「例外」不加區別地攔截所有異常,甚至是那些未預期或理想的。諸如 KeyboardInterrupt (Ctrl C) 之類的異常和諸如 SystemExit 之類的 Python 產生的錯誤都不應該以這種方式處理。

最好明確指定程式碼準備處理的異常類型,至少是“異常”,所有“常規”異常的基礎類別。

更合適的方法

錯誤「例外」區塊旨在用於從預先定義的故障場景中復原。然而,通常不可能從未知的故障場景中完全恢復。在這種情況下,最好終止程序而不是嘗試繼續。這是 Python 解釋器在未處理異常時的預設行為。

僅捕獲您知道如何解決的異常是明智的做法。應允許剩餘的異常在呼叫堆疊中向上傳播,希望另一個元件可以處理它們。在驗證映像存在的情況下,預期錯誤(根據文件)是 pyautogui.ImageNotFoundException。

修訂的程式碼

根據上述見解,可以重構您的函數以解決提出的問題透過裸露的「例外」:

透過指定函數要處理的特定異常,您可以改進程式碼的可靠性和可維護性。

以上是為什麼 Python 中的「 except 」子句被認為是不好的做法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板