public static void main(String[] args){
sum(1,2);
}
주입되는 실제 값 , 즉 전달되는 인자를 뜻함
위의 예제에서의 1과 2를 Argument라고 함
public static void sum(int a , int b){
System.out.println(a+b);
}
변수명을 뜻함
즉 위의 코드 예제에서의 a변수명과 b변수명을 뜻함
부적절한 인수(Argument) 값을 메서드에 파라메터(Parameter)로 건네준 것을 나타내기 위해 발생
즉 인수를 넘긴 후 넘긴 인수에 대한 검증 중 발생하는 오류에 대한 처리를 해줌
null이 파라메터로 넘어온 경우는 NullPointerException으로 처리
예를 들어 회원가입 시 이미 존재하는 회원일 경우 회원가입dto에 Argument(인수 값)에 대한 검증 오류이니 IllegalArgumentException을 반환해야되고, 파라메터에 양수를 넘겨야하는데 음수를 넘길 경우 부적절한 인수가 전달된 것이므로 이 또한 IllegalArgumentException을 발생시켜야함
//아이디 존재 여부
public void checkLoginEmailExists(String loginEmail) {
findByLoginEmail(loginEmail).ifPresent(user -> {
throw new IllegalArgumentException("이미 존재하는 아이디입니다.");
});
}
public void removeStock(int stockQuantity){
int result = this.stockQuantity - stockQuantity;
if(result < 0){
throw new IllegalStateException("0 이하로 재고는 내려갈 수 없습니다.");
}
}
예외도 재사용하는 것이 좋음
예외 클래스의 수가 적을수록 메모리 사용량도 줄고 클래스 적재 시간도 적게 걸리며 다른 사람에게도 읽기 쉽고 익숙하다는 장점이 있음