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

Python の例外処理:try、catch、finally、raise [例]

Python の例外処理とは?

例外とは、プログラムの実行時に発生するエラーです。ただし、プログラムの実行中に Python は例外を生成し、プログラムがクラッシュしないように処理する必要があります。 Python 言語では、例外はエラー時に自動的にトリガーされるか、コードによってトリガーおよびインターセプトされる可能性があります。

例外は、イベントが発生する可能性はあるものの、このタイプのイベントがまれにしか発生しないことを示しています。メソッドが例外を処理できない場合、呼び出し元の関数にスローされます。最終的に、メイン関数から例外がスローされると、プログラムは突然終了します。

この Python 例外処理チュートリアルでは、次のことを学びます:

例外の一般的な例:

例外を使用する理由

Python で例外を使用する理由は次のとおりです。

例外の規則

Python 例外処理の重要なルールを次に示します:

Python 例外処理メカニズム

例外処理は、次の 5 つのキーワードによって管理されます。

<オール>
  • やってみる
  • キャッチ
  • ついに
  • 投げる
  • Python の Try ステートメント

    try ステートメントには、キーワード try が含まれ、その後にコロン (:) と、例外が発生する可能性がある一連のコードが続きます。 1 つ以上の節があります。

    try ステートメントの実行中に例外が発生しなかった場合、インタープリターはその特定の try ステートメントの例外ハンドラーを無視します。

    万が一、try スイートで例外が発生した場合、try スイートは期限切れになり、プログラム制御は、try スイートに続く一致する except ハンドラに移ります。

    Syntax:
    try:
    statement(s)

    catch ステートメント

    Catch ブロックは、一度に 1 つの引数を取ります。これは、キャッチする可能性が高い例外のタイプです。これらの引数は、変更可能な特定のタイプの例外から、キャッチオール カテゴリの例外にまで及ぶ場合があります。

    catch ブロックのルール:

    例:

    try
    }
    catch (ArrayIndexOutOfBoundsException e) {
    System.err.printin("Caught first " + e.getMessage()); } catch (IOException e) {
    System.err.printin("Caught second " + e.getMessage());
    }

    Python での Final ステートメント

    finally ブロックは、例外がスローされるかどうかに関係なく、常に実行されます。 final キーワードを使用すると、try-catch ブロックに続くコード ブロックを作成できます。

    最後に、句はオプションです。すべての条件で実行されるクリーンアップ アクションを定義することを目的としています。

    try:
        raise KeyboardInterrupt
    finally:
        print 'welcome, world!'
    Output
    Welcome, world!
    KeyboardInterrupt

    最後に、句は try ステートメントの前に実行されます。

    Python でステートメントを発生させる

    raise ステートメントは、例外オブジェクトを初期化する引数を指定します。ここでは、例外名の後にコンマが続き、コンマの後に引数または引数のタプルが続きます。

    構文:

    raise [Exception [, args [, traceback]]]

    この構文では、引数はオプションであり、実行時の例外引数の値は常に none です。

    例:

    Python 例外は、文字列、クラス、数値、オブジェクトなどの任意の値にすることができます。 Python コアによって発生するこれらの例外のほとんどは、クラスのインスタンスである引数を持つクラスです。

    重要な Python エラー

    エラーの種類 説明
    算術エラー ArithmeticError は、すべての算術例外の基本クラスとして機能します。算術演算のエラーで発生します。
    インポートエラー 存在しないモジュールをインポートしようとすると、ImportError が発生します。この種の例外は、モジュール名または標準パスに存在しないモジュールに入力ミスがある場合に発生します。
    IndexError 範囲外のシーケンスを参照しようとすると、IndexError が発生します。
    KeyError 辞書に特定のキーが見つからない場合、KeyError 例外が発生します。
    NameError 名前がローカルまたはグローバル名前空間に存在しないコードで参照されると、NameError が発生します。
    ValueError 関数または組み込み操作が、正しい型である可能性があるが適切な値を持たない引数を受け取ると、値エラーが発生します。
    EOFエラー この種のエラーは、組み込み関数 (input() または raw_input()) のいずれかがデータを読み取らずに EOF 条件に達したときに発生します。
    ZeroDivisonError このタイプのエラーは、すべての数値型に対してゼロによる除算またはモジュールが発生したときに発生します。
    IOError- この種のエラーは、入出力操作が失敗したときに発生します。
    syntaxError Python 構文にエラーがある場合に発生する SyntaxErrors。
    インデントエラー インデントが適切に定義されていない場合に発生するこのエラー

    その他の重要な Python 例外

    例外 説明
    算術例外 ゼロ除算などの算術エラー
    ArrayIndexOutOfBoundsException 配列インデックスが範囲外です。
    ArrayStoreException 代入は、互換性のない型の配列要素に役立ちます。
    ClassCastException 無効なキャスト
    MlegalMonitorStateException ロックされていないスレッドでの待機など、不正な監視操作。
    MlegalStateException 環境またはアプリケーションが間違った状態です。
    ClassNotFoundException クラスが見つかりません。
    CloneNotSupportedException Cloneable インターフェースを実装していないオブジェクトのクローンを作成しようとしています。
    不正な AccessException クラスへのアクセスが拒否されました。
    InstantiationException インターフェイスまたは抽象クラスのオブジェクトを作成しようとすると発生します。
    CloneNotSupportedException インターフェースを実装していないオブジェクトのクローンを作成しようとしています。

    エラーと例外

    エラー 例外
    Python のエラーはすべて unchecked 型です。 例外には、チェックされているタイプとチェックされていないタイプの両方が含まれます。
    実行時にコンパイラが認識できないエラーが発生します。 try-catch ブロックを使用して例外を処理することで、例外を回復できます。
    エラーは、ほとんどの場合、アプリケーションが実行されている環境によって発生します。 アプリケーション自体が例外を引き起こします。
    例:
    OutofMemoryError
    例:
    チェック例外、SQL 例外、NullPointerException など

    まとめ


    Python

    1. Python データ型
    2. Python 演算子
    3. Python pass ステートメント
    4. Python 関数の引数
    5. Python 辞書
    6. try、except、finally ステートメントを使用した Python 例外処理
    7. Python イテレータ
    8. Python クロージャー
    9. Java 例外処理
    10. Java トライ...キャッチ
    11. C++ 例外処理:Try、Catch、throw の例