Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 스프링 핵심 원리
- SpringBoot
- Exception
- springdatajpa
- QueryDSL
- 스프링 핵심 기능
- Greedy
- Spring Boot
- Servlet
- spring
- pointcut
- db
- JDBC
- java
- AOP
- Android
- 그리디
- kotlin
- Proxy
- Thymeleaf
- 알고리즘
- JPQL
- 김영한
- 자바
- 인프런
- transaction
- jpa
- http
- 스프링
- 백준
Archives
- Today
- Total
개발자되기 프로젝트
사용자 정의 예외 클래스 활용 본문
1. 사용자 정의 예외 클래스 구현
- 자바에서 제공되는 예외 클래스 외에 직접 만들어야 하는 예외가 있을 수 있음
- 기존 예외 클래스 중 가장 유사한 예외 클래스에서 상속받아 사용자 정의 예외 클래스 생성
- 기본적으로 Exception 클래스를 상속해서 만들 수 있음.
2. 예) password에 대한 예외 처리
- 패스워드를 입력할 때 다음과 같은 경우 오류처리
- 비밀번호 null
- 비밀번호 길이 5 미만
- 비밀번호가 문자로만 이루어진 경우(특수 문자 포함해야 함)
public class PasswordTest {
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
if (password == null) {
throw new PasswordException("비밀번호는 필수");
}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 pw1 = null;
try{
test.setPassword(pw1);
}catch (PasswordException e){
System.out.println(e.getMessage());
}
String pw2 = "abc";
try{
test.setPassword(pw2);
}catch (PasswordException e){
System.out.println(e.getMessage());
}
String pw3 = "abcasdf";
try{
test.setPassword(pw3);
}catch (PasswordException e){
System.out.println(e.getMessage());
}
String pw4 = "abc21!";
try{
test.setPassword(pw4);
System.out.println("성공");
}catch (PasswordException e){
System.out.println(e.getMessage());
}
}
}
3. GitHub : 211031 custom Exception
'Java > 다양한 기능' 카테고리의 다른 글
표준 입출력 스트림 (0) | 2021.10.31 |
---|---|
자바 입출력을 위한 I/O Stream (0) | 2021.10.31 |
예외 처리와 미루기 (0) | 2021.10.30 |
예외 처리 (0) | 2021.10.29 |
Stream활용 예시 (0) | 2021.10.29 |
Comments