IllegalArgumentException 정리

·2023년 9월 4일

🚀공부노트

목록 보기
5/6

JPA를 사용할 시 Option을 위주로 예외처리하는 방법과 일반적인 메소드의 예외처리 방식의 생각 정리

1. 메소드를 통한 예외처리

  • 메소드에 전달된 인수 값이 잘못된 경우에 발생
  • throw를 통해 예외 발생시 해당 메소드 중단!
  • new 키워드로 예외 인스턴스를 생성
  • 이름이 null이거나 공백일 경우 예외발생으로 해당 메소드 중지
 public User(String name, Integer age) {
        if(name == null || name.isBlank()){
            throw new IllegalArgumentException(String.format("잘못된 name(%s)이 들어왔습니다", name));
        }
    }

2. Option를 통한 예외처리

  • Optional 객체의 유무를 판단하고 예외를 처리하기 위해 if문 대신 원하는 객체가 없다면 orElseThrow로 예외처리가능
  • Spring data JPA를 이용하여 해당 ID값이 없을 경우 예외처리로 메소드 중단!
public void userUpdate(UserUpdateRequest request){
        User user = userRepository.findById(request.getId())
                .orElseThrow(IllegalArgumentException::new);
        user.updateName(request.getName());
	}
    

0개의 댓글