Fórum Erro em tempo de execução #219051

08/03/2004

0

Como faço para retornar o erro em tempo de execução

exemplo: qual a linha que deu erro, nome do form, nome da unit

isso é possível no Delphi?


Mfrinfo

Mfrinfo

Responder

Posts

08/03/2004

Beppe

Existe um tipo de exceção que armazena estes dados, como nome do arquivo e linha. Usamos o método Assert para isso. O método verifica uma condição, se for False, a mensagem é mostrada.

Assert(Form <> nil, ´Condição inválida´);


equivale a:

if Form = nil then
  raise EAssertionFailed.Create(´Condição inválida´);


Mas somente a primeira forma exibe as informações que você quer.

Para as exceções que são geradas pela VCL, que não são via Assert, é mais difícil, mas não impossível. Existem componentes que recuperam alguns dados a partir do endereço do erro. Você encontra na RTL do Jedi, por exemplo.


Responder

Gostei + 0

10/03/2004

Khundalini

Use a JediVCL. Ela tem a JCL(Jedi Component Library), que é uma coleção de componentes não-visuais para as mais diversas utilidades. Ela, além de fornecer units para interceptar exceções (inclusive mostrando o tipo de informação que vc quer), fornece uma caixa de diálogo padrão para que, sempre que uma exceção ocorrer, ela seja mostrada com as informações sobre a Exceção.

[]s
Rubem Rocha
Manaus, AM


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar