Python3 PyCharm が例外をキャッチし、広すぎる例外句の警告を報告する

最近 PyCharm でコードを書いていると、Exceptionエラーの種類が指定されていないというメッセージが表示されます。

Too broad exception clause...

これは、キャッチされた例外が範囲が広すぎて対象外であるためであり、正確な例外タイプを指定することで解決できます。

  • BaseException: すべての例外の基本クラス

  • SystemExit: インタープリターの終了要求

  • KeyboardInterrupt: ユーザー割り込み実行 (通常は ^C を入力)

  • Exception: 一般エラーの基本クラス

  • StopIteration: イテレータにはもう値がありません

  • GeneratorExit: ジェネレータ (generator) には終了を通知する例外があります。

  • StandardError: すべての組み込み標準例外の基本クラス

  • ArithmeticError: すべての数値計算エラーの基本クラス

  • FloatingPointError:浮動小数点演算エラー

  • OverflowError:数値演算が上限を超えています

  • ZeroDivisionError: ゼロによる除算 (またはモジュロ) (すべてのデータ型)

  • AssertionError: アサーション ステートメントが失敗しました

  • AttributeError: オブジェクトにはこのプロパティがありません

  • EOFError: 組み込み入力なし、EOF マーカーに到達

  • EnvironmentError: オペレーティング システム エラーの基本クラス

  • IOError: I/O 操作が失敗しました

  • OSError: オペレーティング システム エラー

  • WindowsError: システムコールが失敗しました

  • ImportError: モジュール/オブジェクトのインポートに失敗しました

  • LookupError: 無効なデータクエリの基本クラス

  • IndexError: シーケンス (インデックス) 内にそのようなインデックスはありません

  • KeyError: キーはマップ内に存在しません

  • MemoryError: メモリ オーバーフロー エラー (Python インタープリタにとって致命的ではありません)

  • NameError: 未宣言/初期化されたオブジェクト (プロパティがありません)

  • UnboundLocalError: 初期化されていないローカル変数へのアクセス

  • ReferenceError: 弱い参照は、ガベージ コレクションされたオブジェクトへのアクセスを試行します。

  • RuntimeError: 一般的なランタイム エラー

  • NotImplementedError: メソッドはまだ実装されていません

  • SyntaxError: Python 構文エラー

  • IndentationError: インデントエラー

  • TabError:タブとスペースの混合

  • SystemError: 一般的なインタープリタ システム エラー

  • TypeError: タイプに対して無効な操作です

  • ValueError: 無効なパラメータが渡されました

  • UnicodeError: Unicode 関連のエラー

  • UnicodeDecodeError: Unicode デコード時のエラー

  • UnicodeEncodeError: Unicode エンコーディングのエラー

  • UnicodeTranslateError: Unicode変換中のエラー

  • Warning: 警告の基本クラス

  • DeprecationWarning: 非推奨の機能に関する警告

  • FutureWarning: 構成要素の将来の意味上の変更についての警告

  • OverflowWarning: 自動プロモーションが長すぎるという古い警告

  • PendingDeprecationWarning: 機能が非推奨になるという警告

  • RuntimeWarning: 不審な実行時の動作に関する警告

  • SyntaxWarning: 疑わしい構文の警告

  • UserWarning: ユーザーコードによって生成された警告

Exception考えられるエラーについてよくわからない場合、またはPyCharm に文句を言わせずに使用する場合、どうやって修正すればよいでしょうか?

1.コンパイラのコード検出の検出Exceptionオプションをオフにします。
2.tryステートメントの前に追加する# noinspection PyBroadExceptionだけです
# noinspection PyBroadException
try:
       pass
except Exception as e:
        pass

おすすめ

転載: blog.csdn.net/yilovexing/article/details/99292473