Python 3 PyCharm捕捉異常報Too broad exception clause警告

2937 ワード

最近PyCharmでコードを書いているとExceptionにエラータイプが指定されていないと文句を言います
Too broad exception clause...

これは,捕獲された異常が広すぎて,的確性がなく,正確な異常タイプを指定することで解決できるためである.
  • BaseException:すべての異常のベースクラス
  • SystemExit:インタプリタ要求終了
  • KeyboardInterrupt:ユーザ割込み実行(通常は入力^C)
  • Exception:通常のエラーのベースクラス
  • StopIteration:反復器には
  • の値がありません.
  • GeneratorExit:ジェネレータに異常が発生し、
  • の終了を通知する.
  • StandardError:すべての組み込み標準異常のベースクラス
  • ArithmeticError:すべての数値計算エラーのベースクラス
  • FloatingPointError:浮動小数点計算エラー
  • OverflowError:最大制限
  • を超える数値演算
  • ZeroDivisionError:ゼロを除く(または型取り)
  • AssertionError:断言文失敗
  • AttributeError:オブジェクトにこの属性がない
  • EOFError:内蔵入力なし、EOFタグ
  • に到達
  • EnvironmentError:オペレーティングシステムエラーのベースクラス
  • IOError:入出力動作失敗
  • OSError:オペレーティングシステムエラー
  • WindowsError:システム呼び出し失敗
  • ImportError:モジュール/オブジェクトのインポートに失敗しました
  • LookupError:無効なデータクエリのベースクラス
  • IndexError:シーケンスにこのインデックス(index)
  • はありません.
  • KeyError:マッピングにこのキーがない
  • MemoryError:メモリオーバーフローエラー(Pythonインタプリタで致命的ではない)
  • NameError:非宣言/初期化オブジェクト(属性なし)
  • UnboundLocalError:初期化されていないローカル変数
  • へのアクセス
  • ReferenceError:弱参照(Weak reference)ゴミ回収済みオブジェクト
  • にアクセスしようとする
  • RuntimeError:一般的な運転時エラー
  • NotImplementedError:まだ実現されていない方法
  • SyntaxError:Python構文エラー
  • IndentationError:インデントエラー
  • TabError:Tabとスペース混用
  • SystemError:一般的な解釈器システムエラー
  • TypeError:タイプに対して無効な操作
  • ValueError:入力無効なパラメータ
  • UnicodeError:Unicode関連エラー
  • UnicodeDecodeError:Unicode復号時のエラー
  • UnicodeEncodeError:Unicode符号化時エラー
  • UnicodeTranslateError:Unicode変換時エラー
  • Warning:警告ベース
  • DeprecationWarning:廃棄された特徴に関する警告
  • FutureWarning:構造が将来的に意味が変わることに関する警告
  • .
  • OverflowWarning:自動アップグレード長型(long)に関する古い警告
  • PendingDeprecationWarning:特性が廃棄されることに関する警告
  • .
  • RuntimeWarning:不審なランタイム挙動(runtime behavior)の警告
  • SyntaxWarning:不審な文法の警告
  • UserWarning:ユーザコード生成の警告
  • 発生する可能性のあるエラーが確定していない場合、またはExceptionを使用し、PyCharmに文句を言わない場合は、どうすれば解決しますか?
    1.コンパイラのコード検出における検出Exceptionに関するオプションをオフにする
    2.try文の前に# noinspection PyBroadExceptionを加えればよい
    # noinspection PyBroadException
    try:
           pass
    except Exception as e:
            pass