Python での裸の「excel」句はなぜ悪い習慣とみなされますか?
ベア '例外' の危険
PyAutoGui を使用して画面上の画像の存在を確認する関数を設計する際に、次のアプローチを採用しました。
def check_image_on_screen(image): try: pyautogui.locateCenterOnScreen(image) return True except: return False
この関数は意図したとおりに機能しているように見えますが、PyCharm は裸の '例外' に次のようなフラグを立てます。お勧めできません。これにより、「例外」を装飾せずに残すことの影響についての懸念が生じます。
裸の「例外」の問題
裸の「例外」は、予期されない例外や例外を含むすべての例外を無差別に遮断します。望ましい。 KeyboardInterrupt (Ctrl C) や SystemExit などの Python 生成エラーなどの例外は、この方法で処理すべきではありません。
コードで処理できるように準備されている例外のタイプを明示的に指定することをお勧めします。 、少なくとも「Exception」、すべての「通常の」例外の基礎クラスです。
より適切なアプローチ
エラー「例外」ブロックは、事前定義された障害シナリオからの回復に使用することを目的としています。ただし、未知の障害シナリオから完全に回復することは一般に不可能です。このような場合、プログラムを続行するのではなく、プログラムを終了することをお勧めします。これは、例外が処理されない場合の Python インタープリタのデフォルトの動作です。
対処方法がわかっている例外のみをトラップすることが賢明です。残りの例外は、別のコンポーネントが処理できることを期待して、呼び出しスタックの上に伝播できるようにする必要があります。画像の存在を確認する場合、予期されるエラー (ドキュメントごとに) は pyautogui.ImageNotFoundException です。
改訂されたコード
前述の洞察に基づいて、関数をリファクタリングして、提起された懸念に対処できます。裸の '例外' によって:
def check_image_on_screen(image): try: pyautogui.locateCenterOnScreen(image) return True except pyautogui.ImageNotFoundException: return False
関数が意図する特定の例外を指定することによってハンドルを使用すると、コードの信頼性と保守性が向上します。
以上がPython での裸の「excel」句はなぜ悪い習慣とみなされますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

Investing.comの反クラウリング戦略を理解する多くの人々は、Investing.com(https://cn.investing.com/news/latest-news)からのニュースデータをクロールしようとします。
