자바에서 발생하는 예외 중 하나인 java.lang.IllegalArgumentException는 잘못된 인수 값이 메소드에 전달될 때 발생합니다.
- 인수 값 확인
- java.lang.IllegalArgumentException 예외는 주로 메소드에 전달된 인수 값이 잘못된 경우에 발생합니다. 따라서, 이 예외가 발생하는 메소드에서 인수 값을 확인하는 코드를 추가하는 것이 좋습니다.
- ex)
public void someMethod(int arg) { if (arg < 0 || arg > 10) { throw new IllegalArgumentException("Invalid argument: " + arg); } // 메소드 실행 코드 }
- 위 코드에서는 arg 값이 0보다 작거나 10보다 큰 경우 IllegalArgumentException 예외가 발생합니다.
- java.lang.IllegalArgumentException 예외는 주로 메소드에 전달된 인수 값이 잘못된 경우에 발생합니다. 따라서, 이 예외가 발생하는 메소드에서 인수 값을 확인하는 코드를 추가하는 것이 좋습니다.
- 유효성 검사 라이브러리 사용
- 자바에서는 유효성 검사를 위한 다양한 라이브러리가 제공됩니다. 이러한 라이브러리를 사용하여 인수 값의 유효성을 검사할 수 있습니다.
- 예를 들어서 javax.validation 패키지에서 제공하는 Validator 인터페이스를 사용하여 객체의 유효성을 검사할 수 있습니다.
public class Person { @NotNull private String name; @Min(0) private int age; // 생성자, getter, setter 등 생략 } public void someMethod(Person person) { Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); Set<ConstraintViolation<Person>> violations = validator.validate(person); if (!violations.isEmpty()) { throw new IllegalArgumentException(violations.toString()); } // 메소드 실행 코드 }
- 위 코드에서는 Person 객체의 name 필드가 null이거나 age 필드가 0보다 작은 경우 IllegalArgumentException 예외가 발생합니다.
- 자바에서는 유효성 검사를 위한 다양한 라이브러리가 제공됩니다. 이러한 라이브러리를 사용하여 인수 값의 유효성을 검사할 수 있습니다.
- 로그 추가
- IllegalArgumentException 예외가 발생하는 경우에는 로그를 추가하여 원인을 파악하는 것이 좋습니다.
- ex)
public void someMethod(int arg) { if (arg < 0 || arg > 10) { logger.error("Invalid argument: {}", arg); throw new IllegalArgumentException("Invalid argument: " + arg); } // 메소드 실행 코드 }
- 위 코드에서는 arg 값이 0보다 작거나 10보다 큰 경우 IllegalArgumentException 예외가 발생하며, 동시에 로그가 출력됩니다.
- IllegalArgumentException 예외가 발생하는 경우에는 로그를 추가하여 원인을 파악하는 것이 좋습니다.
잘 해결되시길 바라겠습니다.
그럼 20000
반응형
'IT' 카테고리의 다른 글
[Java] java.io.IOException: Stream Closed (0) | 2023.05.31 |
---|---|
[Java] java.lang.ArrayIndexOutOfBoundsException (0) | 2023.05.29 |
[Java] java.lang.ClassNotFoundException (0) | 2023.05.24 |
[Java] java.lang.NullPointerException (0) | 2023.05.24 |
[Java] json to vo (json을 VO객체로) (0) | 2021.12.29 |