+6 votos
126 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 (116 pontos) | 126 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 (861 pontos)
selecionada por
Melhores Nov 2020
  1. kevin.katzer

    13 Pontos

  2. Cesar.Albuquerque

    11 Pontos

  3. diuari.molinari

    1 Pontos

200 pontos
Melhores 2020 Nov 23 - 29
    445 perguntas
    492 respostas
    351 comentários
    497 usuários