Mesnagem de Exception

Delphi

14/01/2004

Pessoal
Algo muito estranho aconteceu em meu sistema e não consegui resolver.
Tenho vários blocos de Try/Exception .. onde no Exception exibo uma mensagem dizendo q ocorreu um erro, pr exemplo. Também tenho algumas rotinas q geram uma exception: exemplo :
´raise Exception.Create (´Ocorreu Erro !´);

o que ocorre é que estas mensagens não estão sendo exibidas... se eu compilar o programa pelo dephi e fizer dar algum Exception a mensagem é exibida, fora do Delphi não é mais exibida - mas antes exibia.

obrigado

Diogo


Diogoalles

Diogoalles

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

14/01/2004

isso: raise Exception.Create (´Ocorreu Erro !´); , acho que só são exibidas quando se Roda o programa pelo Delphi, quando vc executa a versão compilada, elas não aparecem


GOSTEI 0
Diogoalles

Diogoalles

14/01/2004

Mas aparece sim. Em qq programa delphi ...
Inclusive estava aparecendo antes .. desde ontem q ñ são mais exibidas..


GOSTEI 0
Renatosilva

Renatosilva

14/01/2004

Colega, pelo o que eu sei, se você capturar uma exceção com try/except, a mensagem que a exceção gera é descartada, passando a valer o que você determinar no bloco except. Mas você pode pegar a mensagem da exceção no bloco except, assim:

[b:bbc11b5ef0]try[/b:bbc11b5ef0]
  Inteiro := StrToInt(Edit1.Text);
[b:bbc11b5ef0]except[/b:bbc11b5ef0]
  [b:bbc11b5ef0]on [/b:bbc11b5ef0]E: EConvertError do ShowMessage(E.[b:bbc11b5ef0]Message[/b:bbc11b5ef0]);
[b:bbc11b5ef0]end[/b:bbc11b5ef0];

Pô se não é isso então não sei...


GOSTEI 0
Diogoalles

Diogoalles

14/01/2004

certo

é exatamente o q faço .. mas ñ está exibindo as mensagens mais .. ñ sei o q aconteceu

o q faço
try
  ...
except
      on E : Exception do
      begin
          MessageDlg(´Ocorreu um erro´);
      end;
end;



obrigado


GOSTEI 0
Renatosilva

Renatosilva

14/01/2004

O seu exemplo exibe uma mensagem própria, não pega a mensagem da exceção. Se isto não está acontecendo é porque a exceção não está acontecendo.

Tente o seguinte: em vez de gerar uma exeção Exception, descenda a sua própria classe de exceção:

class EMyException = class (Exception);
...
raise EMyException.Create(´Erro tal´)...

Se não der certo vou ver se testo aqui pra te ajudar...


GOSTEI 0
POSTAR