오답노트
[Java] 사용자 정의 예외 처리 본문
사용자 정의 예외 처리
Exception 클래스에서 상속을 받아 throws로 받거나 catch의 인자로 사용할 수 있다.
public class PassWordTest {
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) throws PassWordException {
if(password == null) {
throw new PassWordException("비밀번호는 null일 수 없습니다.");
}
else if(password.length() < 5) {
throw new PassWordException("비밀번호는 5자 이상이어야합니다.");
}
else if(password.matches("[a-zA-Z]+")) {
throw new PassWordException("비밀번호는 숫자나 특수문자를 포함해야합니다.");
}
this.password = password;
}
public static void main(String[] args) {
PassWordTest test = new PassWordTest();
String password = null;
try {
test.setPassword(password);
System.out.println("오류없음1");
} catch (PassWordException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
}
password = "abc";
try {
test.setPassword(password);
System.out.println("오류없음2");
} catch (PassWordException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
}
password = "abcde";
try {
test.setPassword(password);
System.out.println("오류없음3");
} catch (PassWordException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
}
password = "abcde1#";
try {
test.setPassword(password);
System.out.println("오류없음4");
} catch (PassWordException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
}
}
}
// PassWordTest.java
public class PassWordException extends Exception{
public PassWordException(String message) {
super(message);
}
}
// PassWordException.java
'Java' 카테고리의 다른 글
[Java] 직렬화 (0) | 2023.07.11 |
---|---|
[Java] IOStream (0) | 2023.07.10 |
[Java] 예외 처리 (0) | 2023.07.10 |
[Java] 스트림 (0) | 2023.07.10 |
[Java] 람다식 (0) | 2023.07.10 |