모든 문제점은
WVCM이 정의한 예외 오브젝트의 서브클래스인 예외 오브젝트를 통해 보고됩니다.
클라이언트는 예외에서 다음 정보를 얻을 수 있습니다.
- 보고된 사고 유형(예: WvcmException.ReasonCode.READ_FAILED)을 분류하는
이유 코드(WVCM 열거 확장)
- 이유 코드 분류를 다시 세분한
부속 이유 코드(예: StpException.StpReasonCode.CONFLICT)
- 보고된 사고에 대한 로케일 독립적 메시지 ID(카탈로그 색인) 및
인수 값. 이 정보는 로깅 및
로컬 저장 메시지를 생성하는 용도로 사용할 수 있습니다.
- 예외에 의해 보고된 사고의 원인이 되는 각 부속 사고를 설명하는
중첩 예외의 목록
- 자원 액세스 문제점의 경우, 사고와 관련된 기본 자원(일반적으로
실패한 오퍼레이션의 대상이 되는 자원)
- 특성 액세스 문제점의 경우, 사고와 관련된 기본 자원의
특성
- 여러 자원을 처리하는 오퍼레이션의 경우, 오퍼레이션을 완료한
자원 목록
- 선택한 사고의 경우, 보고된 사고에 대한
추가 정보
각 오퍼레이션은 오퍼레이션을 완료하기 위해 충족해야 하는
전제 조건 세트를 정의합니다. 예를 들어, 특성을 읽으려면 자원이
존재해야 하고 동일한 이름의 자원이 있으면 자원을
작성할 수 없으며 체크아웃할 자원은 버전화되고 체크인해야 하는 등입니다.
전제 조건을 위반하면 오퍼레이션에 예외가 발생합니다.
오퍼레이션을 종종 자원 콜렉션에 적용할 수 있습니다. 오퍼레이션이
자원 중 하나에서 실패하면 예외가 발생합니다(예외 오브젝트에 보고된
성공과 함께).
자원의 특성 또는 메타 특성을 읽거나 쓰는 중에 서버에서 문제점이 발생해도
ClearQuest® CM API 오퍼레이션에서는
예외가 발생하지 않습니다. 대신, 리턴된 프록시의 특성에
예외가 연관됩니다. 클라이언트가 프록시에서 해당 특성 값을 추출하는 경우에만
예외가 발생합니다. 또한 클라이언트는 특성 값을 추출하기 전에
프록시에 문제가 있는지 여부를 문의하여 예외가 발생하기 전에 예외를
확보할 수 있습니다. 특성에 대한 추가 정보를 참조하십시오.
ClearQuest CM API에는 다음 프린시펄 유형의 예외가 포함됩니다.
- StpException(WvcmException 확장)
- StpPropertyException(StpException 확장)
- StpPartialResultsException(PropertyException 확장)
StpException
StpException은
WvcmException의 확장이며
ClearQuest CM API에서 발생한 모든 확인된 예외의 기본 클래스입니다. WVCM 정의
메소드의 모든 구현에서
WvcmException이 발생합니다.
WVCM에 대한 확장인 ClearQuest CM API의
모든 공용 메소드에서도
WvcmException이 발생합니다.
그러나 이러한 모든 메소드의 구현은 지속적으로
StpException만 발행하며
WvcmExceptions은
발행하지 않습니다. 다음 규칙이 적용됩니다.
- StpException 발행은
메소드 선언(공용 또는 기타)에 사용되지 않습니다.
메소드가 StpException을 발행하더라도 WvcmExceptions을 발행한 것처럼 선언됩니다.
- 메소드는 새 WvcmExceptions을 발행하지 않습니다.
예외를 WvcmExceptions로 표시할 수 있더라도 항상 새 StpException으로 발행합니다.
StpPropertyException
StpPropertyException은
StpException을 확장하며 자원 특성의 읽기 또는 쓰기 오류와 연관된
기본 예외 클래스입니다.
서버에서 특성 값을 요청한 후에는
이름이 결과와 연관되고 프록시에 저장됩니다. 검색 시도에 성공한 경우
이름은 검색한 값과 연관되고 검색 시도에 실패한 경우 상태 정보(StpPropertyException
오브젝트 양식)와 연관됩니다.
StpPartialResultsException
StpPartialResultsException은
StpPropertyException을 확장하고 여러 자원을 포함하는 특성 또는 오퍼레이션의 실패를
보고하는 데 사용됩니다. 이는 일반적으로 해당 오퍼레이션이나 특성이 리턴한
ResourceList를 대체합니다. StpPartialResultsException에는
처리가 완료된 자원의 프록시가 있는 ResourceList 및 실패한 오퍼레이션의 각 자원에
해당하는 StpException 목록이 포함됩니다. 세부사항은 Javadoc 정보를 참조하십시오.