Compartilhar via


Solucionando problemas de exceções: sistema.tempo de execução.InteropServices.COMException

A COMException exceção é lançada quando um HRESULT não reconhecido é retornado de uma telefonar de método com..

Dicas associadas

  • Verifique a propriedade ErrorCode da exceção para determinar o HRESULT retornado pelo objeto com.
    Quando o tempo de execução de teste encontra um HRESULT desconhecido, ele lança um COMException exceção, que inclui um público ErrorCode propriedade que contém o HRESULT retornado pela telefonar. Se uma mensagem de erro estiver disponível para o tempo de execução, a mensagem é retornada para o chamador.Entretanto, se o desenvolvedor de componentes COM falhar ao incluir uma mensagem de erro, o tempo de execução de teste retorna o HRESULT de oito dígitos no lugar de uma sequência de mensagem.Ter um HRESULT permite que o chamador determine a causa da exceção.Para obter mais informações, consulte Como: Mapa HRESULTs and Exceptions.

  • Desative o processo de hospedagem.
    COM é usado para se comunicar entre Visual Studio e o processo de hospedagem. Como ele é usado antes de executar o código, uma telefonar para CoInitializeSecurity faz essa exceção seja lançada.

Comentários

O Common Language Runtime (CLR) transforma conhecidos HRESULTS em exceções .NET, ativando objetos COM para retornar informações significativas de erro para clientes gerenciados.O HRESULT para mapeamento de exceção também funciona na outra direção, retornando HRESULTS específicos para os clientes não gerenciados.

Quando passar parâmetros de ligação tardia para os métodos de objetos do Microsoft Office, um COMException exceção pode ser lançada quando os objetos são objetos COM. O fichário atrasado pressupõe que essas chamadas de método envolvam um ByRef parâmetro e que a propriedade que você passar tem um Set acessador. Se a propriedade não, a .NET Framework gera um MissingMethodException exceção (HRESULT CORE_E_MISSINGMETHOD). Para contornar esse comportamento, use objetos vinculados antecipadamente ou passe uma variável em vez de uma propriedade do objeto.

Consulte também

Tarefas

Como: Descubra mais sobre uma exceção com Assistente de Exceção

Conceitos

Manipulando Exceções de Interoperabilidade COM

Referência

COMException