Exceções de solução de problemas: System.Runtime.InteropServices.COMException
Uma exceção COMException é lançada quando um HRESULT não reconhecido retorna de uma chamada de método COM.
Dicas relacionadas
Verifique a propriedade ErrorCode da exceção para determinar o HRESULT retornado pelo objeto COM
Quando o tempo de execução encontra um HRESULT incomum, ele gera a exceção COMException, que inclui uma propriedade pública de ErrorCode contendo o HRESULT retornado pela chamada. Se uma mensagem de erro estiver disponível ao tempo de execução, essa mensagem será retornada ao chamador. No entanto, se o desenvolvedor do componente COM não incluir uma mensagem de erro, o tempo de execução retornará o HRESULT de oito dígitos no lugar de uma cadeia de caracteres de mensagem. Ter um HRESULT permite que o chamador determine a causa da exceção. Para obter mais informações, consulte Como mapear HRESULTs e exceções.Desative o processo de host.
O COM é usado para a comunicação entre Visual Studio e o processo de hospedagem. Como ele é usado antes que o código seja executado, uma chamada a CoInitializeSecurity faz com que essa exceção seja lançada.
Comentários
O CLR (Common Language Runtime) transforma HRESULTS conhecido em exceções .NET, permitindo que objetos COM retornem informações de erro significativas para os clientes gerenciados. O HRESULT do mapeamento de exceção também funciona no sentido contrário, retornando HRESULTS específicos para clientes não gerenciados.
Quando parâmetros de associação tardia são passados a métodos de objetos do Microsoft Office, a exceção COMException pode ser lançada quando os objetos são objetos COM. A associação tardia presume que essas chamadas de método envolvem um parâmetro ByRef e que a propriedade passada por você tem um acessador Set. Caso contrário, o .NET Framework gera uma exceção MissingMethodException (HRESULT CORE_E_MISSINGMETHOD). Para contornar esse comportamento, use objetos de associação antecipada ou passe uma variável em vez de uma propriedade do objeto.
Consulte também
Tarefas
Como usar o Assistente de Exceção