-3

ここで私はカスタム例外を作成していますが、間違った入力に対して除算メソッドで例外をスローしたいのですが、それまではカスタム例外をスローできましたが、次のようにコードをキャッチする際に問題がありました

class A extends Exception {
    A(String s) {
        super(s);
    }
}

class Emp {
    int a;
    int b;

    void divide(int a, int b) throws A {
        if (b == 0) {
            throw new A("super exception is there");
        } else
            System.out.println(a / b);

    }

    public static void main(String args[]) {
        Emp m = new Emp();
        try {
            m.divide(10, 0);
        } catch (A e) {
            System.out.println(e);
        }

    }
}

それは私にエラーを与えます main method not found me
なぜこれが起こっているのか理解できない クラス

4

3 に答える 3

1

main()メソッドはクラスで定義されているためEmp、.java ファイルの名前を に変更しますEmp.java。Java がclass 内A.javaのメソッドを探しているのはそのためです。main()A

于 2013-08-24T19:39:56.970 に答える
0

私はあなたのコードを試してみましたが、正常に動作しています。次の結果を返します。

A: super exception is there

あなたのJavaファイルの名前は何ですか. クラスにメソッドが含まEmp.javaれているため、名前を付けました。Empmain

于 2013-08-24T19:41:53.117 に答える
0

これは、main-Method が A クラスではなく Emp クラスにあるためです。

ソースファイルに「Emp.java」という名前を付け、コマンドラインを使用して「java Emp」で実行する場合は、「javac Emp.java」でコンパイルします。

于 2013-08-24T19:46:19.447 に答える