IncompleteAnnotationException — 불완전한 애너테이션 예외

IncompleteAnnotationException — 불완전한 애너테이션 예외

IncompleteAnnotationException은 프로그램이 애너테이션 인터페이스의 어떤 요소에 접근하려 했는데, 그 요소가 애너테이션이 컴파일(또는 직렬화)된 이후에 애너테이션 인터페이스 정의에 추가된 경우 던져지는 예외입니다. 새 요소에 기본값(default value)이 있으면 이 예외는 발생하지 않습니다.

출처: Java API Reference

본문

이 예외는 애너테이션을 반사적으로 읽는 API에서 발생할 수 있습니다.

public class IncompleteAnnotationException extends RuntimeException

생성자

public IncompleteAnnotationException(Class<? extends Annotation> annotationType, String elementName)
  • annotationType — 불완전한 애너테이션의 인터페이스 타입입니다.
  • elementName — 추가된 요소의 이름입니다.

메서드

public Class<? extends Annotation> annotationType()
public String elementName()
  • annotationType()는 접근한 애너테이션 인터페이스를 반환합니다.
  • elementName()은 새로 추가된 요소의 이름을 반환합니다.

즉, 기존에 컴파일된 애너테이션에는 존재하지 않던 요소가 인터페이스 정의에 나중에 추가되어, 해당 요소에 기본값이 없는 경우 프로그램이 그 값을 읽으려 할 때 이 예외가 발생합니다.

더 알아보기 (Learn more)