COM+ 관리 오류 처리
COMAdmin 개체를 사용할 때 생성되는 오류는 다음과 같은 두 가지 방법으로 보고됩니다.
- COMAdmin 라이브러리와 관련된 오류 코드 사용
- 특수 ErrorInfo 컬렉션에서 사용할 수 있는 확장 오류 정보를 사용합니다.
오류 코드
COM 오류 메시지와 마찬가지로 관리 오류 코드를 처리합니다. Microsoft Visual C++에서 이러한 코드는 HRESULT 값으로 반환됩니다. Microsoft Visual Basic에서는 예외를 발생시키며, 이를 catch하여 처리할 수 있습니다. C++ 프로그래머의 경우 COM+ 관리 오류 코드는 Winerror.h에 정의됩니다. Visual Basic 프로그래머의 경우 Visual Basic IDE를 통해 사용할 수 있습니다.
ErrorInfo 컬렉션
오류가 발생하면, 일종의 오류 코드로 신호가 주어진 경우, 오류의 성격에 따라 더 상세한 정보를 얻을 수 있을 수도 있습니다. COMAdmin 개체는 여러 읽기 및 쓰기 작업과 같은 자세한 보고서 없이는 오류의 정확한 원인을 확인하기 어려운 상황에서 확장된 정보를 제공합니다.
예를 들어 COMAdminCatalogCollection 개체에서 채우기 및 SaveChanges 같은 메서드를 사용하는 경우 컬렉션의 모든 항목에 대한 데이터를 읽거나 쓸 수 있습니다. 복잡한 오류가 발생할 수 있으며 단일 숫자 오류 코드에 따라 진단하기 어려울 수 있습니다. 따라서 COMAdmin 라이브러리는 특수 컬렉션을 통해 확장된 오류 정보를 만듭니다.
확장 오류 정보를 사용할 수 있으면 오류가 발생한 원래 컬렉션과 관련된 ErrorInfo 컬렉션에 배치됩니다. 오류 보고서를 검색하려면 원래 컬렉션과 관련된 ErrorInfo 컬렉션을 가져오고 포함된 항목을 검사합니다. COMAdminCatalogCollection에서 GetCollection을 사용하여 ErrorInfo 컬렉션을 검색할 수 있습니다. 두 번째 매개 변수는 보통 부모 항목의 Key 속성을 지정할 때 사용하는데, 이를 비워 둔 채로 둡니다.
오류가 발생하면 해당 컬렉션에 대해 다른 작업을 수행하지 않고 실패한 컬렉션에 대한 ErrorInfo 컬렉션을 즉시 가져와서 채워야 합니다. 그렇지 않으면 ErrorInfo 컬렉션이 다시 설정되며 해당 실패에 대해 자세히 설명하지 않습니다.
ErrorInfo 컬렉션의 항목은 오류의 특정 원인을 자세히 설명하는 특수 오류 보고 속성 MajorRef 및 MinorRef를 노출합니다. 자세한 내용은 ErrorInfo참조하세요.
관련 항목
-
com+ 카탈로그 속성 설정 및 변경 내용 저장