是否可以扩展已存在的类以抛出异常?例如,如果条目已经存在,是否可以为以下代码创建一个例外? (我不能因此修改类,为什么我需要延长,并必须包括错误处理,而不是仅仅显示消息..)Java:写例外
Entry类:
public Entry(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5)
{
this.firstName = paramString1;
this.lastName = paramString2;
this.street = paramString3;
this.town = paramString4;
if (paramString5.matches("[A-Z]{2}[0-9]{1,2} [0-9]{1,2}[A-Z]{2}")) {
this.postCode = paramString5;
} else {
System.err.printf("Bad postcode: '%s'\n", new Object[] { paramString5 });
this.postCode = "???";
}
}
AddressBook类:
public String add(Entry paramEntry)
{
if (paramEntry == null)
return "Error: null entry";
if (this.data.contains(paramEntry)) {
return "Error: this entry already in the book";
}
boolean bool = this.data.add(paramEntry);
if (bool) {
return " entry added";
}
return "entry could not be added";
}
我已经在网上搜索,发现下列易于遵循网站: http://www.tutorialspoint.com/java/java_exceptions.htm http://www.c-sharpcorner.com/UploadFile/433c33/defining-your-own-exception-class-in-javacustom-exception/
这是我需要做的吗? (java新对不起)
的确如此。例外情况仅适用于特殊情况。无效的用户输入应通过正确验证来处理。 – Kai 2013-04-29 12:27:14
但是有一个约束,父类不能改变(及其方法的签名),因此没有地方可以从验证器添加返回值(没有将它包装成未经检查的异常) – denis 2013-04-30 20:31:21
好的抛出异常也会导致更改。例如。 '抛出异常'。这只是双重标准的推理。 – Aquillo 2013-04-30 20:52:32