+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 2026
    200 pontos
    Melhores 2026 Jul 27 - Aug 02
    1. Larson

      165 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

    518 perguntas
    568 respostas
    389 comentários
    801 usuários