Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自定义异常类引发编译时错误_Java_Exception - Fatal编程技术网

Java 自定义异常类引发编译时错误

Java 自定义异常类引发编译时错误,java,exception,Java,Exception,我试图创建自己的异常,它扩展了exception类,但当我试图抛出它时,编译器抛出编译时错误 这是我的异常类: package Exception; public class notAdultException extends Exception { @Override public String toString() { return ("you are not adult"); } } 下面是我尝试抛出异常的地方: int Ag

我试图创建自己的异常,它扩展了exception类,但当我试图抛出它时,编译器抛出编译时错误

这是我的异常类:

package Exception;

public class notAdultException extends Exception {
    @Override
    public String toString() {
        return ("you are not adult");
    }
}
下面是我尝试抛出异常的地方:

int Age = 16;
try {
    if (Age < 18) {
        throw new notAdultException();
}
catch (notAdultException t) {
    System.out.println(t);
}

问题是在同一个包中有一个名为
Exception
的类,因此您需要限定对
java.lang.Exception
的访问

作为旁注,您应该始终遵循。例如,您的类的名称应该是
notadutexception
,而不是
notadutexception
,并且包的名称应该类似于
my.exceptions

尝试以下操作:

public class notAdultException extends Exception {
 
    public notAdultException(String message) {
        super(message);
    }
}

不要忘记导入java.lang.Exception(或使用上面提到的完整限定符)。

您需要
扩展java.lang.Exception
。使用java编程约定,包使用完全小写字母。类以大写字母开头,并使用cammelCase(NotAdultException)。变量和方法以小写字母开头,使用cammelCase(age)。另外,请粘贴文本而不是图像。在此处添加更多提示:1。您的
t
变量没有多大意义。一般认为有
e
ex
等(来自单词exception)2。在这种特定情况下,没有太多理由使用异常。您只需检查
age<18
,然后在那里为未成年人/成年人执行代码。这将有助于提高性能。@EJoshuaS抱歉,但我认为图像更容易清除error@hev1不,他没有<默认情况下,将导入code>java.lang。他需要做的是不要让自己的类名为
Exception
,并更改其包的名称。另外:请不要将您的类或包命名为与众所周知的Java类相同的名称,尤其是
Java.lang
中的类。当你重载这些类的名称时,你会把一切都搞砸<代码>异常对于类和包来说都是一个糟糕的名称。我创建了一个新项目,它有一个新名称,但不起作用,但在扩展java.lang时它起作用。Exception@HagerKhaled没问题。
public class notAdultException extends Exception {
 
    public notAdultException(String message) {
        super(message);
    }
}