最近 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