python 編輯器提示 do not use bare except


在捕獲異常時,應該盡可能指定特定的異常,而不是只使用 except 語句。

比如說,except 語句會捕獲 KeyboardInterruptSystemExit 異常,但 KeyboardInterrupt 可能是我們通過 Ctrl + C 主動觸發的,顯然是不希望被捕獲的。

這樣做會影響我們對異常的判斷。

如果實在不知道是什么異常,至少要這樣使用:except Exception

再舉一個例子:

try:
    user = User.objects.get(pk=user_id)
    user.send_mail('Hello world')
except:
    logger.error('An error occurred!')

這樣捕獲異常顯然是不好的,應該采用下面這樣的方式進行優化。

try:
    user = User.objects.get(pk=user_id)
    user.send_mail('Hello world')
except User.DoesNotExist:
    logger.error('The user does not exist with that ID')

推薦閱讀:

  • 計算機經典書籍
  • 技術博客 硬核后端開發技術干貨,內容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。
  • Go 程序員 Go 學習路線圖,包括基礎專欄,進階專欄,源碼閱讀,實戰開發,面試刷題,必讀書單等一系列資源。
  • 面試題匯總 包括 Python、Go、Redis、MySQL、Kafka、數據結構、算法、編程、網絡等各種常考題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM