工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python エラーと組み込み例外

Python エラーと組み込み例外

このチュートリアルでは、Python に組み込まれているさまざまな種類のエラーと例外について学習します。これらは、Python インタープリターがエラーに遭遇するたびに発生します。

ビデオ:Python 例外処理

プログラムを書いているときに、実行しようとしたときにエラーにつながる特定の間違いを犯すことがあります。 Python プログラムは、未処理のエラーが発生するとすぐに終了します。これらのエラーは、大きく 2 つのクラスに分類できます。

<オール>
  • 構文エラー
  • 論理エラー (例外)

  • Python 構文エラー

    言語の正しい構造 (構文) に従わないことによって発生するエラーは、構文エラー と呼ばれます。 または解析エラー .

    一例を見てみましょう:

    >>> if a < 3
      File "<interactive input>", line 1
        if a < 3
               ^
    SyntaxError: invalid syntax

    例に示すように、矢印はパーサーが構文エラーに遭遇した場所を示します。

    ここで、コロン :if にありません


    Python 論理エラー (例外)

    実行時 (構文テストに合格した後) に発生するエラーは、例外と呼ばれます。 または論理エラー .

    たとえば、存在しないファイル (読み取り用) を開こうとしたときに発生します (FileNotFoundError )、数値をゼロで除算してみてください (ZeroDivisionError )、または存在しないモジュールをインポートしようとしました (ImportError) ).

    これらのタイプの実行時エラーが発生するたびに、Python は例外オブジェクトを作成します。適切に処理されない場合、そのエラーのトレースバックと、そのエラーが発生した理由に関する詳細が出力されます。

    Python がこれらのエラーをどのように処理するかを見てみましょう:

    >>> 1 / 0
    Traceback (most recent call last):
     File "<string>", line 301, in runcode
     File "<interactive input>", line 1, in <module>
    ZeroDivisionError: division by zero
    
    >>> open("imaginary.txt")
    Traceback (most recent call last):
     File "<string>", line 301, in runcode
     File "<interactive input>", line 1, in <module>
    FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'

    Python 組み込みの例外

    不正な操作によって例外が発生する可能性があります。 Python には、対応するエラーが発生したときに発生する組み込み例外が多数あります。組み込みの local() を使用して、すべての組み込み例外を表示できます。 次のように機能します:

    print(dir(locals()['__builtins__']))

    locals()['__builtins__'] 組み込みの例外、関数、および属性のモジュールを返します。 dir これらの属性を文字列としてリストできます。

    Python プログラミングの一般的な組み込み例外の一部と、それらの原因となるエラーを以下に示します:

    例外 エラーの原因
    AssertionError assert のときに発生します ステートメントは失敗します。
    AttributeError 属性の割り当てまたは参照が失敗したときに発生します。
    EOFError input() のときに発生します 関数がファイル終了条件に達しました。
    FloatingPointError 浮動小数点演算が失敗したときに発生します。
    GeneratorExit ジェネレーターの close() の場合にレイズします メソッドが呼び出されます。
    ImportError インポートされたモジュールが見つからない場合に発生します。
    IndexError シーケンスのインデックスが範囲外の場合に発生します。
    KeyError 辞書にキーが見つからない場合に発生します。
    KeyboardInterrupt ユーザーが割り込みキーを押したときに発生します (Ctrl+C または Delete ).
    MemoryError 操作でメモリが不足したときに発生します。
    NameError 変数がローカルまたはグローバル スコープで見つからない場合に発生します。
    NotImplementedError 抽象メソッドによって発生します。
    OSError システム操作によってシステム関連のエラーが発生した場合に発生します。
    OverflowError 算術演算の結果が大きすぎて表現できない場合に発生します。
    ReferenceError ガベージ コレクションされた参照先にアクセスするために弱い参照プロキシが使用されたときに発生します。
    RuntimeError エラーが他のカテゴリに該当しない場合に発生します。
    StopIteration next() によって発生 イテレータによって返されるアイテムがこれ以上ないことを示す関数。
    SyntaxError 構文エラーが発生したときにパーサーによって発生します。
    IndentationError インデントが正しくない場合に発生します。
    TabError インデントが一貫性のないタブとスペースで構成されている場合に発生します。
    SystemError インタプリタが内部エラーを検出したときに発生します。
    SystemExit sys.exit() によって発生 関数。
    TypeError 関数または操作が不適切な型のオブジェクトに適用されたときに発生します。
    UnboundLocalError 関数またはメソッドでローカル変数が参照されたが、その変数に値がバインドされていない場合に発生します。
    UnicodeError Unicode 関連のエンコードまたはデコード エラーが発生したときに発生します。
    UnicodeEncodeError エンコード中に Unicode 関連のエラーが発生した場合に発生します。
    UnicodeDecodeError デコード中に Unicode 関連のエラーが発生した場合に発生します。
    UnicodeTranslateError 翻訳中に Unicode 関連のエラーが発生した場合に発生します。
    ValueError 関数が正しい型の引数を取得したが、値が不適切な場合に発生します。
    ZeroDivisionError 除算またはモジュロ演算の第 2 オペランドがゼロの場合に発生します。

    必要に応じて、Python で独自の例外を定義することもできます。それらの詳細については、Python ユーザー定義の例外にアクセスしてください。

    これらの組み込みおよびユーザー定義の例外は、Python で try を使用して処理できます。 、 exceptfinally ステートメント。それらの詳細については、Python の try、except、および finally ステートメントを参照してください。


    Python

    1. Python のキーワードと識別子
    2. Python ステートメント、インデント、およびコメント
    3. Python 変数、定数、およびリテラル
    4. Python の型変換と型キャスト
    5. Python の入力、出力、およびインポート
    6. Python グローバル変数、ローカル変数、および非ローカル変数
    7. Python の数値、型変換、および数学
    8. Python ディレクトリおよびファイル管理
    9. Python カスタム例外
    10. Pythonで現在の日付と時刻を取得するには?
    11. Java スローとスロー