【发布时间】:2014-01-25 14:28:05
【问题描述】:
我有以下几行代码,我应该编写一个 IllegalArgumentException 异常,这样当我运行它时,它会返回“波兰已经存在。”。我已经阅读了很多关于异常的内容,但我只是不知道我应该如何编写 IllegalArgumentException,在它的构造函数中放入什么等(我只知道我必须有一个构造函数和一个 getMessage() 方法消息。)
更具体地说:如何更改 IllegalArgumentException 的“原因”:如何检查国家名称的相似性?
public static void main(String[] args) {
Country country1 = new Country("Poland");
try{
Country country = new Country("Poland");
}
catch(IllegalArgumentException ie){
System.out.println(ie.getMessage());
}
}
【问题讨论】:
-
制造一个 IllegalArgumentException 不会比choosing which constructor(s) to use 更多。您的问题的答案实际上可能取决于您的 Country 课程。例如,波兰已经存在意味着什么?你如何跟踪它(如果你这样做的话)?
-
我不知道,这就是为什么我不明白我应该如何检查名称的相似性。考虑到以上是我的整个主要方法,它应该在 Country 类或异常类中的某个地方,但我对异常的理解不够好,所以我很困惑?
-
基本上,您似乎应该修改 Country。 @MarkoTopolnik 写的答案几乎向您展示了除了跟踪 Country 实例之外您需要用于异常的确切逻辑。
-
但这意味着没有getMessage方法,正如我所说,我的主要方法必须与上面的完全相同,因此我必须为其创建一个新的自定义异常......带我回到广场 1
标签: java exception exception-handling try-catch illegalargumentexception