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