IllegalArgumentException
IllegalArgumentException은 RuntimeException의 하위 클래스.
일반적으로 메서드에 부적절한 인수가 전달되었음을 나타내는 데 사용한다.
예를 들어 메서드에서 정의한 일부 특정 기준에 따라 메서드에 전달된 인수가 유효하지 않거나 허용되지 않음을 알리기 위해 메서드에서 자주 사용한다.
그리고 확인된 예외로 throws 절을 사용하여 메서드 시그니처에서 선언해야 하거나 메서드가 정상적으로 처리할 수 없는 경우 try-catch 블록 내에서 처리해야 한다.
RuntimeException
RuntimeException도 Exception의 하위 클래스이지만 IllegalArgumentException은 아니다.
호출자의 잘못이 아니라 프로그램 논리나 환경의 오류를 나타내는 문제를 나타내는 더 넓은 범주의 예외로, 확인된 예외와는 달리 RuntimeException 및 해당 하위 클래스는 메서드 시그니처에서 선언하거나 명시적으로 포착할 필요가 없다.
정리하면, 런타임 예외 및 해당 서브클래스는 모든 메서드에서 명시적으로 처리되기보다는 개발 중에 이상적으로 해결되어야 하는 프로그래밍 오류를 나타내기 때문에 메서드 시그니처에서 명시적으로 선언하거나 포착할 필요가 없다.
NullPointerException, ArrayIndexOutOfBoundsException, ArithmeticException ...
요약하면 'IllegalArgumentException'은 더 구체적이며 일반적으로 인수 관련 오류에 사용되는 반면, 'RuntimeException'은 프로그램 실행 중에 발생하는 예기치 않은 오류에 사용되는 더 광범위한 범주
'Spring' 카테고리의 다른 글
| Spring의 동적 쿼리 : JPQL , QueryDSL (1) | 2024.11.20 |
|---|---|
| Spring Day 35 : 동시성 제어의 중요성 (0) | 2024.03.22 |
| Spring Day 34 : @Cacheable, @CachePut, @CacheEvict (0) | 2024.03.20 |
| Spring Day 33 : 메서드 실행 시간 측정 기능 AOP (0) | 2024.03.15 |
| Spring Day 32 : Booleanbuilder, Booleanexpression (0) | 2024.03.12 |