+6 votos
90 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) | 90 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

Perguntas relacionadas

Melhores Jan 2020
  1. diuari.molinari

    45 Pontos

  2. juliano.pezzini

    40 Pontos

  3. Gregory

    17 Pontos

  4. alan.jantz

    16 Pontos

  5. leandro.piscke

    15 Pontos

  6. willian.metalsystem

    12 Pontos

  7. maicon.pereira

    11 Pontos

  8. Cesar.Albuquerque

    10 Pontos

  9. lucas.melo

    9 Pontos

  10. regina.silva

    9 Pontos

200 pontos
Melhores 2020 Jan 27 - Feb 02
  1. diuari.molinari

    7 Pontos

  2. fluipress.luciano

    5 Pontos

  3. lucas.melo

    4 Pontos

  4. alan.jantz

    2 Pontos

  5. Andre.decker

    2 Pontos

398 perguntas
449 respostas
329 comentários
494 usuários