정의
java.lang.IllegalArgumentException
메서드에 잘못된(부적절한) 인자가 전달됐을 때 발생시키는 런타미 예외
체크 예외가 아니라 런타임 예외 → 선언 없이 throw 가능
public class IllegalArgumentException extends RuntimeException {
public IllegalArgumentException(){super();}
public IllegalArgumentException(String message) {super(message);}
}
언제 사용하는 가
메서드가 요구하는 유효한 조건을 위반한 인자가 들어왔을 때
예시
public void setAge(int age){
if(age < 0){throw new IllegalArgmentException("Age must be non-negative");}
this.age = age;
}
특징
예제: 문자열 검증
public void setNickname(String nickname){
if(nickname == null || nickname.isEmpty()){
throw new IllegalArgumentException("nickname cannot be null or empty");
}
this.nickname = nickname;
}
nickname이 null이거나 빈 문자열이면 예외 발생
호출한 쪽에서 값이 잘못되었음을 바로 알수 있음