Manipulando erros de administração COM+
Os erros gerados ao usar os objetos COMAdmin são relatados de duas maneiras, da seguinte maneira:
- Usando códigos de erro específicos para a biblioteca COMAdmin.
- Usando informações de erro estendidas disponíveis em uma coleção especial ErrorInfo.
Códigos de erro
Você manipula códigos de erro de administração como faria com qualquer mensagem de erro COM. No Microsoft Visual C++, esses códigos são retornados como valores HRESULT . No Microsoft Visual Basic, eles são lançados como exceções que você pode capturar. Para programadores C++, os códigos de erro de administração COM+ são definidos em Winerror.h. Para programadores do Visual Basic, eles estão disponíveis por meio do IDE do Visual Basic.
Coleção ErrorInfo
Quando ocorre um erro, sinalizado por algum tipo de código de falha, informações mais detalhadas podem estar disponíveis, dependendo da natureza do erro. Os objetos COMAdmin fornecem informações estendidas em circunstâncias em que a causa precisa da falha é difícil de determinar sem um relatório detalhado, como com várias operações de leitura e gravação.
Por exemplo, quando você usa métodos como Populate e SaveChanges em um objeto COMAdminCatalogCollection, você pode estar lendo ou gravando dados para cada item na coleção. Erros complicados podem ocorrer e podem ser difíceis de diagnosticar com base em um único código de erro numérico. Portanto, a biblioteca COMAdmin faz informações de erro estendidas por meio de uma coleção especial.
Quando informações de erro estendidas estão disponíveis, elas são colocadas na coleção ErrorInfo que está relacionada à coleção original que teve o erro. Para recuperar o relatório de erros, obtenha a coleção ErrorInfo relacionada à coleção original e examine os itens que ela contém. Você pode recuperar a coleção ErrorInfo usando GetCollection em COMAdminCatalogCollection, deixando o segundo parâmetro em branco onde você normalmente especificaria a propriedade Key de um item pai.
Quando você recebe um erro, você deve imediatamente obter e preencher a coleção ErrorInfo para a coleção que falhou, sem executar quaisquer outras operações nessa coleção. Caso contrário, a coleção ErrorInfo será redefinida e não detalhará essa falha.
Os itens na coleção ErrorInfo expõem as propriedades especiais de relatório de erros MajorRef e MinorRef, que detalham a causa específica do erro. Para obter mais informações, consulte ErrorInfo.
Tópicos relacionados
-
Exemplo introdutório usando o catálogo de administração COM+
-
Definindo propriedades e salvando alterações no catálogo COM+