+7 votos
185 visitas

Quando uma exceção é lançada do C# para o Delphi, não é possível saber qual é o tipo desta exceção porque a mesma não existe no Delphi. Mas eu gostaria de saber se existe alguma forma de criar um tipo de exceção no C# e de algum modo saber que é esta exceção no Delphi?

Tem como capturar algum código ou algo assim?

por (120 pontos) | 185 visitas

1 Resposta

+5 votos
Melhor resposta

Não é bem o que você deseja, mas tem como saber o nome do tipo. Basta utilizar a classe EClrException:

 


uses
  ClrException;


begin
  try
  
     ChamaAlgumCodigoEmDotNet();
  
  except
    on ex: EClrException do
    begin
      WriteBDebug('*** Erro: Exceção .Net detectada!');
      WriteBDebug('*** Tipo: ' + EClrException(ex).TypeName);
      WriteBDebug('*** Mensagem: ' + EClrException(ex).Message);
      WriteBDebug('*** StackTrace: ' + EClrException(ex).StackTrace);
      raise;
    end;
  end;
end;

 

 

por (865 pontos)
selecionada por

Perguntas relacionadas

+6 votos
1 resposta
+1 voto
1 resposta
+2 votos
1 resposta
Melhores Aug 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

    517 perguntas
    566 respostas
    389 comentários
    704 usuários