A exceção foi lançada pelo destino de uma chamada (MethodBase.Invoke Method)

Eu quero pegar as exceções que são lançadas nos métodos chamados com o método invoke.

public void TestMethod()
{
   try     
   {
       method.Invoke(commandHandler, new[] { newCommand });
   }
   catch(Exception e)
   {     
       ExceptionService.SendException(e);
   }
}

Invoke chama o seguinte método:

public void Register(/*parameters*/)
{
     if(test_condition())
          throw new CustomException("Exception Message");
}

O problema é que, quando eu pego a CustomException, no TestMethod, a variável e na instrução catch NÃO tem o tipo CustomException. Ele tem a seguinte mensagem: "A exceção foi lançada pelo destino de uma chamada".

Quero capturar a exceção que foi criada (que é CustomException) e passá-la para o mecanismo ExceptionService.

O que estou fazendo errado?

questionAnswers(1)

yourAnswerToTheQuestion