亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 引發異常的約定

Python 引發異常的約定

SMILET 2023-09-26 17:27:53
我很難找到一個好的數據源來了解如何處理和引發異常。輔助函數或類方法是否應該處理引發的問題,或者調用者處理捕獲異常的邏輯是否是正常約定?我們是否在兩個地方都這樣做并一直跟蹤堆棧跟蹤?選項A:def change_permissions(file):    os.chmod(file, 0o755)try:    change_permissions('/Users/user/Documents/file.txt')except Exception:    print('do something with this')選項B:def change_permissions(file):    try:        os.chmod(file, 0o755)    except EnvironmentError:        print('do something with this')change_permissions('/Users/user/Documents/file.txt')
查看完整描述

1 回答

?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

不要將異常捕獲為 e

捕獲 Exception 的問題與類型繼承有關(因此,插曲),因為我們不僅會捕獲應用程序中的所有自定義異常,還會捕獲一大堆 Python 內置異常,包括一些您可能不希望拋出的異常離開。你需要特別選擇,因為所以選項 B 是最好的選擇

其他最佳實踐

有一些在 python 中處理異常的最佳實踐,這一切都與你有關。

  • 切勿使用異常進行流量控制

  • 不要暴露異常的實現細節

  • 記錄代碼拋出的異常

  • 了解我們在哪里需要斷言和異常。

查看完整回答
反對 回復 2023-09-26
  • 1 回答
  • 0 關注
  • 98 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號