SeouliteLab

[Java/자바] IllegalArgumentException: 의미 및 발생 이유 본문

프로그래밍

[Java/자바] IllegalArgumentException: 의미 및 발생 이유

Seoulite Lab 2024. 3. 6. 13:19

Java 프로그래밍에서 IllegalArgumentException은 메서드에 전달된 인수가 잘못된 경우 발생하는 예외입니다. 이 예외는 메서드 호출 시 인수의 유효성을 검사하고 인수가 잘못된 경우 발생합니다. 이 예외의 의미와 발생 이유를 자세히 살펴보겠습니다.

IllegalArgumentException의 의미

IllegalArgumentException은 "잘못된 인수"를 의미합니다. 즉, 메서드에 전달된 인수가 예상된 형식이나 범위를 벗어나는 경우에 발생합니다. 이 예외는 주로 메서드의 파라미터 유효성을 검사하는 데 사용됩니다.

IllegalArgumentException 발생 이유

IllegalArgumentException이 발생하는 주요 이유는 다음과 같습니다:

  1. 메서드에 전달된 인수의 형식이나 타입이 예상과 다를 때.
  2. 메서드에 전달된 인수가 null일 때, 그러나 null을 허용하지 않는 경우.
  3. 메서드에 전달된 인수가 허용되는 범위를 벗어날 때.
  4. 기타 인수의 유효성을 검사하는 조건에 위반될 때.

예제

예제 1: 정수를 전달하는 메서드에서 음수를 전달한 경우

public class Example {
    public void method(int num) {
        if (num < 0) {
            throw new IllegalArgumentException("음수는 허용되지 않습니다.");
        }
        // 메서드 내용
    }
}

// 사용 예
Example example = new Example();
example.method(-1);

예제 2: 문자열을 전달하는 메서드에서 null을 전달한 경우

public class Example {
    public void method(String str) {
        if (str == null) {
            throw new IllegalArgumentException("문자열은 null일 수 없습니다.");
        }
        // 메서드 내용
    }
}

// 사용 예
Example example = new Example();
example.method(null);