Java 如果要添加的对象具有重复项,如何引发异常
我必须向数组中添加新对象,但如果该对象已存在,则会引发异常。我不知道在“throw”之后添加什么。Java 如果要添加的对象具有重复项,如何引发异常,java,Java,我必须向数组中添加新对象,但如果该对象已存在,则会引发异常。我不知道在“throw”之后添加什么。 我已经创建了object类,也创建了一个类来保存该对象的数组。我还完成了必须将其添加到数组中的部分,但是如果该对象已经存在于该数组中,我不知道要抛出什么异常 最简单的方法是抛出一个存在的异常。你可以这样做 throw new IllegalArgumentException(); 或者使用带字符串参数的构造函数 throw new IllegalArgumentException("The va
我已经创建了object类,也创建了一个类来保存该对象的数组。我还完成了必须将其添加到数组中的部分,但是如果该对象已经存在于该数组中,我不知道要抛出什么异常 最简单的方法是抛出一个存在的异常。你可以这样做
throw new IllegalArgumentException();
或者使用带字符串参数的构造函数
throw new IllegalArgumentException("The value is already in the list.");
您可以在oracle网站上查看的文档
如果您喜欢使用自定义异常。你需要遵循@3kings的建议。但是您必须使用
new
操作符。例如,抛出新的MyCustomeException()
创建一个运行时异常
,方法是创建一个扩展运行时异常
的新类。或者,您可以只使用集合而不是数组。因此,您将获得自动重复检查。创建自定义异常类
,如下所示:
public class CustomException extends Exception
{
private static final long serialVersionUID = 1997753363232807009L;
public CustomException()
{
}
public CustomException(String message)
{
super(message);
}
public CustomException(Throwable cause)
{
super(cause);
}
public CustomException(String message, Throwable cause)
{
super(message, cause);
}
public CustomException(String message, Throwable cause,
boolean enableSuppression, boolean writableStackTrace)
{
super(message, cause, enableSuppression, writableStackTrace);
}
}
您可以按如下方式使用它:
throw new CustomException("blah blah blah");
请参阅此链接:抛出MyCustomException()代码>你需要做CustomException
并让它扩展Exception
我相信。您很可能会调用它DuplicateException
,并执行throw new DuplicateException()
取决于您要引发什么异常?我建议使用一组Set
的大多数实现以静默方式覆盖旧值,而不是引发。