為什麼 Python 中的「 except 」子句被認為是不好的做法?
裸「例外」的危險
在使用PyAutoGui 設計一個函數來驗證螢幕上圖片是否存在時,您採用了以下方法:
雖然此函數看起來按預期運行,但PyCharm 將裸露的「例外」標記為不可取。這引起了人們對不加修飾的「例外」的影響的擔憂。
裸「例外」的問題
裸露「例外」不加區別地攔截所有異常,甚至是那些未預期或理想的。諸如 KeyboardInterrupt (Ctrl C) 之類的異常和諸如 SystemExit 之類的 Python 產生的錯誤都不應該以這種方式處理。
最好明確指定程式碼準備處理的異常類型,至少是“異常”,所有“常規”異常的基礎類別。
更合適的方法
錯誤「例外」區塊旨在用於從預先定義的故障場景中復原。然而,通常不可能從未知的故障場景中完全恢復。在這種情況下,最好終止程序而不是嘗試繼續。這是 Python 解釋器在未處理異常時的預設行為。
僅捕獲您知道如何解決的異常是明智的做法。應允許剩餘的異常在呼叫堆疊中向上傳播,希望另一個元件可以處理它們。在驗證映像存在的情況下,預期錯誤(根據文件)是 pyautogui.ImageNotFoundException。
修訂的程式碼
根據上述見解,可以重構您的函數以解決提出的問題透過裸露的「例外」:
透過指定函數要處理的特定異常,您可以改進程式碼的可靠性和可維護性。
以上是為什麼 Python 中的「 except 」子句被認為是不好的做法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

攻克Investing.com的反爬蟲策略許多人嘗試爬取Investing.com(https://cn.investing.com/news/latest-news)的新聞數據時,常常�...

Python3.6環境下加載pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

使用Scapy爬蟲時管道文件無法寫入的原因探討在學習和使用Scapy爬蟲進行數據持久化存儲時,可能會遇到管道文�...
