ホームページ >バックエンド開発 >Python チュートリアル >Python で裸の「例外」ブロックはなぜ悪い考えなのでしょうか?

Python で裸の「例外」ブロックはなぜ悪い考えなのでしょうか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-24 20:16:19336ブラウズ

Why Are Bare `except` Blocks in Python a Bad Idea?

裸の「例外」ブロックの落とし穴

PyAutoGUI を使用して画面上の画像の存在を確認する関数を作成する場合、一般的なアプローチは、「例外」ブロックを使用して潜在的な例外を処理することです。ただし、PyCharm は、「例外」を裸のままにしないよう警告し、「マイナス面は何ですか?

裸の「例外」ブロックのリスク

裸の「例外」ブロック、特定の例外タイプが指定されていないため、予期しないエラーが発生する可能性があります。結果:

  • 例外動作のマスキング: これらは、KeyboardInterrupt (ユーザー割り込み) や SystemExit などの Python で発生したエラーを含む、すべての例外を無差別にキャッチします。これにより、重要なイベントがわかりにくくなり、適切な処理が妨げられる可能性があります。
  • 回復不能な障害: 未知の障害は通常回復不可能であり、障害を抑制すると予期しないプログラムの動作やデータ損失が発生する可能性があります。

ベスト プラクティス: 対象となる例外処理

これらのリスクを軽減するには、予期する特定の例外を指定することが重要です。この場合、予期されるエラーは pyautogui.ImageNotFoundException で、画像が画面上に見つからなかったことを示します。改訂されたコードでは、この例外を明示的に処理する必要があります。

def check_image_on_screen(image):
    try:
        pyautogui.locateCenterOnScreen(image)
        return True
    except pyautogui.ImageNotFoundException:
        return False

特定の例外を識別することで、対象を絞ったエラー処理が有効になり、プログラムは予期されるエラーのみを適切に処理できるようになり、未知のエラーは適切なアクションを実行するためにインタープリターに委任されます。 .

以上がPython で裸の「例外」ブロックはなぜ悪い考えなのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。