개체의 수명 동안 한 번만 호출해야하는 메서드가 있습니다. 이 경우를 보장하기 위해 메서드는 객체의 부울 플래그를 true
으로 설정하므로 나중에이 메서드가 이미 실행되었는지 확인할 수 있습니다. 이 메서드는 두 번째 시간 동안 단일 개체의 수명 동안 호출되는 경우 현재 IllegalArgumentException
(설명 메시지가) 던지고 있지만 그 문제가 실제로 인수 자체가 아니기 때문에 나에게 아주 옳은 느낌이 들지 않습니다. IllegalArgumentException
보다 나은 예외가 있습니까?메서드가 여러 번 호출되지 않도록하려면 어떤 예외를 사용해야합니까?
이 경우 assert
문을 사용하지 않기로 선택했습니다. 클래스와 메서드가 모두 패키지 외부에서 볼 수 있기 때문에 내 패키지 외부의 코드로 인해 문제가 발생할 수 있습니다. 그 생각이 맞습니까?
'IllegalStateException'. 플래그가 메소드를 다시 호출하지 않아야 함을 나타 내기위한 값으로 설정되었으므로 오브젝트가 해당 메소드를 호출하는 데 불법 상태입니다. –