python~エラー
4856 ワード
https://docs.python.org/3/library/exceptions.html#exception-hierarchy
Exception hierarchy
The class hierarchy for built-in exceptions is:
pythonよくあるエラーメッセージ
プログラムを実行または作成するときにエラーが発生することがあります.pythonはエラープロンプトクラス名を与えます.どのような問題が発生したかを教えます(Pythonはオブジェクト向け言語なので、プログラムが投げ出す異常もクラスです).これらのエラープロンプトクラス名が表す意味をよく理解することができ、最も速い時間で問題の所在を見つけることができ、プログラム上の問題を解決するのに非常に役立ちます.
pythonの最も重要な組み込み例外クラス名をいくつか収集し、簡単に紹介しました.
AttributeError:プロパティエラー、プロパティ参照および割り当てに失敗した場合に発生するプロパティエラー
NameError:アクセスしようとする変数名は存在しません
SyntaxError:構文エラー、コード形式エラー
Exception:すべてのpython例外クラスはベースクラスExceptionのメンバーであり、例外はベースクラスExceptionから継承され、exceptionsモジュールで定義されているため、すべての例外のベースクラスです.
IOError:通常、存在しないファイルを開くとIOErrorエラーが発生することがよくありますが、出力入力エラーとして解くこともできます.
KeyError:マッピングに存在しないキーワード(キー)を使用した場合に発生するキーワードエラー
IndexError:インデックスエラー、使用するインデックスは存在しません.通常のインデックスはシーケンス範囲を超えています.インデックスとは何ですか.
TypeError:タイプエラー、組み込み操作、または関数がエラータイプのオブジェクトに適用された場合、タイプエラーが発生します.
ZeroDivisonError:除数0、除算操作時、2番目のパラメータが0の場合に発生します.
ValueError:値が間違っています.オブジェクトに渡されるパラメータのタイプが正しくありません.int()関数に文字列データ型のパラメータが渡されたようです.
1)if,elif,else,for,while,class,def宣言末尾に追加することを忘れた:(「syntaxError:invalid syntax」)
このエラーは、次のようなコードで発生します.
if spam == 42
print('Hello!')
2)==ではなく=を使用する(「SyntaxError:invalidsyntax」)
=は割り当てオペレータであり、=は比較操作である.このエラーは、次のコードで発生します.
if spam = 42:
print('Hello!')
3)インデントの使用が間違っています.(「IndentationError:unexpected indent」,「IndentationError:unindent does not match any outer indetation level」,「IndentationError:expected an indented block」)
インデントの増加は、終了した文の後にのみ使用され、その後は前のインデントフォーマットに復元する必要があります.このエラーは、次のコードで発生します.
print('Hello!')
print('Howdy!')
または、
if spam == 42:
print('Hello!')
print('Howdy!')
または、
if spam == 42:
print('Hello!')
4)stringの値を変更しようとする(「TypeError:'str'objectdoesnotsupportitemassignment」)
stringは、次のコードで発生する可変データ型です.
spam = 'I have apet cat.'
spam[13] = 'r'
print(spam)
実際にはこうしたいと思っています
spam = 'I have apet cat.'
spam = spam[:13] +'r' + spam[14:]
print(spam)
5)文字列の先頭と末尾に引用符を付けるのを忘れた(「SyntaxError:EOLwhilescanningstringliteral」)
このエラーは、次のコードで発生します.
print(Hello!')
または、
print('Hello!)
または、
myName = 'Al'
print('My name is '+ myName + . How are you?')
6)変数または関数名のスペルミス(「NameError:name'fooba'isnotdefined」)
このエラーは、次のコードで発生します.
foobar = 'Al'
print('My name is '+ fooba)
または、
spam = ruond(4.2)
または、
spam = Round(4.2)
7)Pythonキーワードを変数名として使用しようとする(「SyntaxError:invalid syntax」)
Pythonキーは変数名として使用できません.このエラーは次のコードで発生します.
class = 'algebra'
Python 3のキーワードは、and,as,assert,break,class,continue,def,del,elif,else,except,False,finally,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,while,with,yield
Exception hierarchy
The class hierarchy for built-in exceptions is:
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StopIteration
+-- StopAsyncIteration
+-- ArithmeticError
| +-- FloatingPointError
| +-- OverflowError
| +-- ZeroDivisionError
+-- AssertionError
+-- AttributeError
+-- BufferError
+-- EOFError
+-- ImportError
| +-- ModuleNotFoundError
+-- LookupError
| +-- IndexError
| +-- KeyError
+-- MemoryError
+-- NameError
| +-- UnboundLocalError
+-- OSError
| +-- BlockingIOError
| +-- ChildProcessError
| +-- ConnectionError
| | +-- BrokenPipeError
| | +-- ConnectionAbortedError
| | +-- ConnectionRefusedError
| | +-- ConnectionResetError
| +-- FileExistsError
| +-- FileNotFoundError
| +-- InterruptedError
| +-- IsADirectoryError
| +-- NotADirectoryError
| +-- PermissionError
| +-- ProcessLookupError
| +-- TimeoutError
+-- ReferenceError
+-- RuntimeError
| +-- NotImplementedError
| +-- RecursionError
+-- SyntaxError
| +-- IndentationError
| +-- TabError
+-- SystemError
+-- TypeError
+-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
+-- ResourceWarning
pythonよくあるエラーメッセージ
プログラムを実行または作成するときにエラーが発生することがあります.pythonはエラープロンプトクラス名を与えます.どのような問題が発生したかを教えます(Pythonはオブジェクト向け言語なので、プログラムが投げ出す異常もクラスです).これらのエラープロンプトクラス名が表す意味をよく理解することができ、最も速い時間で問題の所在を見つけることができ、プログラム上の問題を解決するのに非常に役立ちます.
pythonの最も重要な組み込み例外クラス名をいくつか収集し、簡単に紹介しました.
AttributeError:プロパティエラー、プロパティ参照および割り当てに失敗した場合に発生するプロパティエラー
NameError:アクセスしようとする変数名は存在しません
SyntaxError:構文エラー、コード形式エラー
Exception:すべてのpython例外クラスはベースクラスExceptionのメンバーであり、例外はベースクラスExceptionから継承され、exceptionsモジュールで定義されているため、すべての例外のベースクラスです.
IOError:通常、存在しないファイルを開くとIOErrorエラーが発生することがよくありますが、出力入力エラーとして解くこともできます.
KeyError:マッピングに存在しないキーワード(キー)を使用した場合に発生するキーワードエラー
IndexError:インデックスエラー、使用するインデックスは存在しません.通常のインデックスはシーケンス範囲を超えています.インデックスとは何ですか.
TypeError:タイプエラー、組み込み操作、または関数がエラータイプのオブジェクトに適用された場合、タイプエラーが発生します.
ZeroDivisonError:除数0、除算操作時、2番目のパラメータが0の場合に発生します.
ValueError:値が間違っています.オブジェクトに渡されるパラメータのタイプが正しくありません.int()関数に文字列データ型のパラメータが渡されたようです.
1)if,elif,else,for,while,class,def宣言末尾に追加することを忘れた:(「syntaxError:invalid syntax」)
このエラーは、次のようなコードで発生します.
if spam == 42
print('Hello!')
2)==ではなく=を使用する(「SyntaxError:invalidsyntax」)
=は割り当てオペレータであり、=は比較操作である.このエラーは、次のコードで発生します.
if spam = 42:
print('Hello!')
3)インデントの使用が間違っています.(「IndentationError:unexpected indent」,「IndentationError:unindent does not match any outer indetation level」,「IndentationError:expected an indented block」)
インデントの増加は、終了した文の後にのみ使用され、その後は前のインデントフォーマットに復元する必要があります.このエラーは、次のコードで発生します.
print('Hello!')
print('Howdy!')
または、
if spam == 42:
print('Hello!')
print('Howdy!')
または、
if spam == 42:
print('Hello!')
4)stringの値を変更しようとする(「TypeError:'str'objectdoesnotsupportitemassignment」)
stringは、次のコードで発生する可変データ型です.
spam = 'I have apet cat.'
spam[13] = 'r'
print(spam)
実際にはこうしたいと思っています
spam = 'I have apet cat.'
spam = spam[:13] +'r' + spam[14:]
print(spam)
5)文字列の先頭と末尾に引用符を付けるのを忘れた(「SyntaxError:EOLwhilescanningstringliteral」)
このエラーは、次のコードで発生します.
print(Hello!')
または、
print('Hello!)
または、
myName = 'Al'
print('My name is '+ myName + . How are you?')
6)変数または関数名のスペルミス(「NameError:name'fooba'isnotdefined」)
このエラーは、次のコードで発生します.
foobar = 'Al'
print('My name is '+ fooba)
または、
spam = ruond(4.2)
または、
spam = Round(4.2)
7)Pythonキーワードを変数名として使用しようとする(「SyntaxError:invalid syntax」)
Pythonキーは変数名として使用できません.このエラーは次のコードで発生します.
class = 'algebra'
Python 3のキーワードは、and,as,assert,break,class,continue,def,del,elif,else,except,False,finally,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,while,with,yield