+6 votos
103 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) | 103 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 May 2020
  1. henrique.muller

    18 Pontos

  2. joao.melo

    14 Pontos

  3. diego.luiz

    12 Pontos

  4. SlimShady

    11 Pontos

  5. joseglauber

    11 Pontos

  6. willian.metalsystem

    8 Pontos

  7. lucas.melo

    3 Pontos

  8. fluipress.luciano

    2 Pontos

  9. pajucara.wallacef

    2 Pontos

  10. jean.filho

    2 Pontos

200 pontos
Melhores 2020 May 25 - 31
  1. diego.luiz

    12 Pontos

  2. SlimShady

    4 Pontos

  3. willian.metalsystem

    2 Pontos

434 perguntas
480 respostas
349 comentários
466 usuários