Java关于自定义Exception的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 12:29:02
为什么我用这样的结构写就报错的?
文件:MmException.java
内容:
class MmException{
static void Test throws MyException {
if(a > 5)
throw new MyException(a);
System.out.println("Normal exit");
}

public static void main(String args[]) {
try {
Test(3);
Test(15);
}
catch (MyException e) {
System.out.println(e);
}
}
}
//使用自定义异常类。
class MyException extends Exception {
private int attribute;
MyException(int i) {
attribute = i;
}
}
为什么这样写,main方法的CLASS起名不能和Java文件名一样?
一样就报错了。
搞不明白
一楼的朋友还是不行,用Eclipse事这样描述的:
The type MmException is already defined
还有,另一个内部类名字是MyException 名字不一样的:)

你的错误在于没有public类和文件名相同,改成public class MmException就行了。
java文件里必须有而且只能有一个public类,这个类必须和文件名相同,至于非public的,你写100个也没人管。
另外,你这代码里哪有内部类???先去搞清楚什么叫内部类吧。

要起和public class 一样的JAVA名 还有你2个类重名了 还有你自定义异常类中没有引用父类的构造方法 比如
MyException(int i, String n) {
Super(n);
attribute = i;

你在一个.java文件里怎么能写两个类呢?
如果是也只能是内部类

继承的那个类应该放在另外一个文件中

问个弱智问题Test定义函数的时候怎么没有参数

支持daodiba3的回答