ホームページ >Java >&#&ベース >Javaの例外とは何ですか

Javaの例外とは何ですか

尚
オリジナル
2019-12-05 16:21:563083ブラウズ

Javaの例外とは何ですか

Java の例外 (例外とも呼ばれます) は、プログラムの実行中に発生し、実行中のプログラムの通常の命令フローを中断するイベントです。プログラムの実行エラーを迅速かつ効果的に処理するには、例外クラスを使用する必要があります。

例外の概要:

プログラムでは、プログラマが予期しなかった、またはプログラマの制御を超えたさまざまな状況からエラーが発生する可能性があります。 、ユーザーの不正なデータ、存在しないファイルを開こうとしているなど。プログラムの実行エラーを迅速かつ効果的に処理するために、Java では特に例外クラスを導入しました。

例:

例外とは何かをよりよく理解するために、非常に単純な Java プログラムを見てみましょう。以下のサンプルコードでは、1~3の整数を入力することができ、それ以外の場合は入力エラーとなります。

import java.util.Scanner;

public class Test01 {
    public static void main(String[] args) {
        System.out.println("请输入您的选择:(1~3 之间的整数)");
        Scanner input = new Scanner(System.in);
        int num = input.nextInt();
        switch (num) {
        case 1:
            System.out.println("one");
            break;
        case 2:
            System.out.println("two");
            break;
        case 3:
            System.out.println("three");
            break;
        default:
            System.out.println("error");
            break;
        }
    }
}

通常の状況では、ユーザーはシステム プロンプトに従って 1 から 3 までの数字を入力します。ただし、ユーザーが必要な入力を行わなかった場合、たとえば文字「a」を入力した場合、プログラムの実行時に例外が発生し、実行結果は次のようになります。

请输入您的选择:(1~3 之间的整数)
a
Exception in thread "main" java.util.InputMismatchException
        at java.util.Scanner.throwFor(Unknown Source)
        at java.util.Scanner.next(Unknown Source)
        at java.util.Scanner.nextInt(Unknown Source)
        at java.util.Scanner.nextInt(Unknown Source)
        at text.text.main(text.java:11)

例外の原因と使用原則

Java で例外が発生する主な理由は 3 つあります:

1. Java 内部エラーの発生、仮想システムによって生成された Java 例外機械。

2. null ポインター例外、配列範囲外例外など、書かれたプログラム コードのエラーによって発生する例外。この種の例外は未チェック例外と呼ばれ、通常、これらの例外を特定のクラスで集中的に処理する必要があります。

3. throw ステートメントを通じて手動で生成された例外はチェック例外と呼ばれ、通常はメソッドの呼び出し元に必要な情報を通知するために使用されます。

Java はオブジェクト指向メソッドを通じて例外を処理します。メソッドの実行中に例外が発生すると、メソッドは例外を表すオブジェクトを生成し、それをランタイム システムに渡します。ランタイム システムは、例外を処理するための対応するコードを探します。

例外オブジェクトを生成し、それをランタイム システムに送信するプロセスを例外のスローと呼びます。ランタイム システムは、その種類の例外を処理できるオブジェクトが見つかるまでメソッドの呼び出しスタックを検索します。このプロセスは例外のキャッチと呼ばれます。

Java 例外により、ユーザーはプログラムの堅牢性とセキュリティを考慮する必要があります。例外処理は、プログラムの通常のフローを制御するために使用されるべきではありません。その主な機能は、プログラムの実行中に発生する例外を捕捉し、それに応じて処理することです。特定のメソッドで発生する可能性のある例外を処理するコードを作成する場合、次の 3 つの原則に従うことができます:

1. 現在のメソッド宣言で try catch ステートメントを使用して、例外をキャッチします。

2. メソッドがオーバーライドされる場合、そのメソッドをオーバーライドするメソッドは、同じ例外または例外のサブクラスをスローする必要があります。

3. 親クラスが複数の例外をスローする場合、オーバーライド メソッドはそれらの例外のサブセットをスローする必要があり、新しい例外をスローすることはできません。

Java についてさらに詳しく知りたい場合は、Java 基本チュートリアル 列に注目してください。

以上がJavaの例外とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。