COM+ 관리 오류 처리

COMAdmin 개체를 사용할 때 생성되는 오류는 다음과 같은 두 가지 방법으로 보고됩니다.

  • COMAdmin 라이브러리와 관련된 오류 코드 사용.
  • 특수 ErrorInfo 컬렉션에서 사용할 수 있는 확장 오류 정보를 사용합니다.

오류 코드

COM 오류 메시지와 마찬가지로 관리 오류 코드를 처리합니다. Microsoft Visual C++ 이러한 코드는 HRESULT 값으로 반환됩니다. Microsoft Visual Basic에서는 catch할 수 있는 예외로 throw됩니다. C++ 프로그래머의 경우 COM+ 관리 오류 코드는 Winerror.h에 정의되어 있습니다. Visual Basic 프로그래머의 경우 Visual Basic IDE를 통해 사용할 수 있습니다.

ErrorInfo 컬렉션

오류 발생 시 오류의 특성에 따라 오류 코드의 일종으로 신호를 받으면 보다 자세한 정보를 사용할 수 있습니다. COMAdmin 개체는 여러 읽기 및 쓰기 작업과 같은 자세한 보고서 없이는 오류의 정확한 원인을 확인하기 어려운 상황에서 확장된 정보를 제공합니다.

예를 들어 COMAdminCatalogCollection 개체에서 PopulateSaveChanges와 같은 메서드를 사용하는 경우 컬렉션의 모든 항목에 대한 데이터를 읽거나 쓸 수 있습니다. 복잡한 오류가 발생할 수 있으며 단일 숫자 오류 코드를 기반으로 진단하기 어려울 수 있습니다. 따라서 COMAdmin 라이브러리는 특수 컬렉션을 통해 확장된 오류 정보를 만듭니다.

확장 오류 정보를 사용할 수 있는 경우 오류가 발생한 원래 컬렉션과 관련된 ErrorInfo 컬렉션에 배치됩니다. 오류 보고서를 검색하려면 원래 컬렉션과 관련된 ErrorInfo 컬렉션을 가져와 포함된 항목을 검사합니다. COMAdminCatalogCollection에서 GetCollection을 사용하여 ErrorInfo 컬렉션을 검색할 수 있으며, 일반적으로 부모 항목의 Key 속성을 지정할 두 번째 매개 변수는 비워 둡니다.

오류가 발생하면 해당 컬렉션에 대해 다른 작업을 수행하지 않고 실패한 컬렉션에 대한 ErrorInfo 컬렉션을 즉시 가져와서 채워야 합니다. 그렇지 않으면 ErrorInfo 컬렉션이 다시 설정되고 해당 실패에 대해 자세히 설명하지 않습니다.

ErrorInfo 컬렉션의 항목은 오류의 특정 원인을 자세히 설명하는 특수 오류 보고 속성 MajorRef 및 MinorRef를 노출합니다. 자세한 내용은 ErrorInfo를 참조하세요.

트랜잭션 내의 COM+ 관리 작업

COM+ 관리 카탈로그를 사용하는 소개 예제

COMAdmin 개체 개요

COM+ 카탈로그에서 컬렉션 검색

COM+ 카탈로그에 속성 설정 및 변경 내용 저장