-3

在这里,我正在创建我的自定义异常,并希望在错误输入的divide方法上抛出异常,直到那时我能够抛出我的自定义异常,但捕获它的问题代码如下

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);
        }

    }
}

它给了我错误主要方法没有找到我一个类
无法弄清楚为什么会发生这种情况

4

3 回答 3

1

因为,您的main()方法是在Emp类中定义的,将您的 .java 文件重命名为Emp.java. 可能是A.java现在,因为这就是 Javamain()在 class 中寻找方法的原因A

于 2013-08-24T19:39:56.970 回答
0

我试过你的代码,它工作正常。返回以下结果:

A: super exception is there

你的java文件的名字是什么。我将其命名Emp.javaEmp类包含main方法。

于 2013-08-24T19:41:53.117 回答
0

那是因为您的 main-Method 在您的 Emp 类中而不是在 A 类中。

如果使用命令行,将源文件命名为“Emp.java”并使用“javac Emp.java”编译它,然后使用“java Emp”运行它。

于 2013-08-24T19:46:19.447 回答