裸の '例外' を使用する危険性
画面上の画像の存在を検出する関数を作成しようとしているときに、開発者は警告に遭遇しました「例外」が裸のままになるのを避けるために、PyCharm から削除します。この問題を理解するために、提供されている関数を調べてみましょう:
def check_image_on_screen(image): try: pyautogui.locateCenterOnScreen(image) return True except: return False
この問題は、抑制すべきでない例外も含め、裸の 'excel' ブロックがすべての例外をキャッチするために発生します。これには、「KeyboardInterrupt」例外 (ユーザーが Ctrl C を押して実行を中断したとき) や、「SystemExit」などの Python によって発生したエラーが含まれます。
適切な例外処理
予期される特定の例外がない場合は、少なくともすべての「通常」をカバーする「例外」基本タイプをキャッチすることをお勧めします。例外。ただし、このシナリオでは、予期されるエラーが「pyautogui」ドキュメントに「ImageNotFoundException」として明示的に記載されています。より適切な関数は、次の特定の例外を利用します。
def check_image_on_screen(image): try: pyautogui.locateCenterOnScreen(image) return True except pyautogui.ImageNotFoundException: return False
例外障害処理
「例外」ブロックは、既知の障害状態から回復することを目的としていることに注意してください。未知のエラーは回復できないことが多いため、そのような例外がコール スタックに伝播して別の場所で処理できるようにすることが最善です。この場合、Python インタープリターはデフォルトでプログラムを正常に終了することで、キャッチされなかった例外を処理します。
結論: 堅牢な例外処理を確保するには、「例外」ブロックを使用して既知の障害状態をキャッチし、それらを適切に処理します。未知の例外を伝播させ、インタプリタのデフォルト動作がそれに応じて動作できるようにします。
以上がPython のエラー処理において、裸の `excel` 句を使用することが危険なのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。