Java “我该如何解决?”;“不兼容类型”;那';我的异常代码发生了什么?

Java “我该如何解决?”;“不兼容类型”;那';我的异常代码发生了什么?,java,Java,每次我尝试编译Cirlce类时,都会收到一条“不兼容类型”错误消息,突出显示“ShapeException”,我需要做什么来消除此错误 圆类 public Circle(double inRadius )throws ShapeException{ //THE EXCEPTION NAME HIGHLIGHTS if(inRadius <= 0.0) { throw new ShapeException("ShapeException occurred

每次我尝试编译Cirlce类时,都会收到一条“不兼容类型”错误消息,突出显示“ShapeException”,我需要做什么来消除此错误

圆类

   public Circle(double inRadius )throws ShapeException{ //THE EXCEPTION NAME HIGHLIGHTS
    if(inRadius <= 0.0)
    {
        throw new ShapeException("ShapeException occurred...");
    }
    radius = inRadius;
子类:

    public class ShapeException extends Exception
    {
     public ShapeException(String msg)
    {
      super(msg);
    }
    }

确保
ShapeException
扩展了真正的
Exception
类(即
java.lang.Exception
),而不是虚构的类。最好的办法就是去掉你自己编造的
异常

你定义了自己的
异常
类吗?它们必须是“真正的”异常,从
java.lang.Throwable
@rgetman派生而来。您自制的异常应该从
Exception
RuntimeException
Exception
的另一个派生而来,但不能直接从
Throwable
(很遗憾,我无法从您的评论中删除我的投票)@LuiggiMendoza是正确的,但严格来说,任何
可丢弃的
都可以在
throw
throws
子句中。因此,它必须是一个
Throwable
,并且应该是
RuntimeException
或另一个
Exception
@rgetman的后代严格来说,只有
Throwable
的后代可以在
Throwable
中使用,但您自己的异常不应该直接从
Throwable
扩展,事实上你能做到并不意味着你应该做到。@LuiggiMendoza是的;我想我们现在说的是同一件事。我必须组成我自己的异常类。这是我正在做的一个家庭作业,我被特别告知要做一个异常类…@user2840682然后告诉你的教授/老师到这里来,问一个问题,我的学生应该如何实现他们自己的异常,这将使他们与
java.lang.Exception
?另外,询问你的教授/老师你是否也应该创建自己的
String
类。你的
ShapeException
是一个例外类。只是不要创建一个名为
Exception
的类。曾经
    public class ShapeException extends Exception
    {
     public ShapeException(String msg)
    {
      super(msg);
    }
    }