이미 기존 클래스를 확장하여 예외를 throw 할 수 있습니까? 예를 들어, 항목이 이미있는 경우 다음 코드에 대한 예외를 만들 수 있습니까?Java : 예외 작성
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 = "???";
}
}
주소록 클래스 :
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";
}
엔트리 클래스 (I 연장 그냥 표시하는 메시지가 아닌 오류 처리를 포함해야 할 필요가 왜 ... 따라서 클래스를 수정 드릴 수 없습니다)
내가 인터넷을 검색하여 발견 한 다음 쉽게 따라하는 웹 사이트 : http://www.tutorialspoint.com/java/java_exceptions.htm http://www.c-sharpcorner.com/UploadFile/433c33/defining-your-own-exception-class-in-javacustom-exception/
내가해야 할 일인가요? (초보자 용의 미안)
사실입니다. 예외는 예외적 인 조건만을위한 것입니다. 유효하지 않은 사용자 입력은 올바르게 검증해야합니다. – Kai
그러나 상위 클래스는 변경할 수 없으므로 (따라서 메서드의 서명) 제약 조건이 있으므로 유효성 검사기에서 반환 값을 추가 할 필요가 없습니다 (확인되지 않은 예외로 래핑하지 않음). – denis
잘 던지는 예외도 변경을 초래합니다. 예 : '예외를 던집니다 .' 그것은 단지 두 가지 표준에 대한 추론 일뿐입니다. – Aquillo