ホームページ > バックエンド開発 > Python チュートリアル > Python の単純な「例外」ステートメントが危険なのはなぜですか? 例外をより安全に処理するにはどうすればよいですか?

Python の単純な「例外」ステートメントが危険なのはなぜですか? 例外をより安全に処理するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-21 16:26:10
オリジナル
252 人が閲覧しました

Why is a Bare `except` Statement in Python Risky, and How Can You Handle Exceptions More Safely?

Python における修飾されていない '例外' の落とし穴とは何ですか?

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 インタープリターのデフォルトの動作は、キャッチされない例外で終了します。

特定の例外を選択的にキャッチすることで、関数が予期されるエラーから正常に回復できるようにしながら、より深刻な問題が発生することを許可します。適切な応答を返します。

以上がPython の単純な「例外」ステートメントが危険なのはなぜですか? 例外をより安全に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート