Try except

Delphi

08/09/2005

se eu não usar o try except, quando ocorre um erro aperece uma caixa de dialogo com o erro;

se usar o try, não aperece mais o erro

eu queria mostrar o erro

try
<comando>
except
showmessage(erro);
<tratamento>
end;


Sistemald

Sistemald

Curtidas 0

Respostas

Andremuller

Andremuller

08/09/2005

try
<comando>
except
on E: Exception do
begin
ShowMessage(E.Message);
end;
end;


GOSTEI 0
Yallebr

Yallebr

08/09/2005

o Correto é

try codigo except [b:64ba8d7fb4]raise;[/b:64ba8d7fb4] //Propagar exceção. end;



GOSTEI 0
Sistemald

Sistemald

08/09/2005

Bem se eu usar raise, aperece a mensagem do jeito que eu quero

porém acontece o seguinte problema;


e exceção é gerada dentro de um [b:ff02e00740]while[/b:ff02e00740], e quando chamo [b:ff02e00740]raise[/b:ff02e00740], a execução do while é interrompida. e eu não quero que isso ocrra, o while deve continuar.


GOSTEI 0
Andremuller

Andremuller

08/09/2005

Como assim ´o correto é´ ? Meu código não está incorreto, interessa o que ele quer fazer.

Por exemplo: pode ser que ele não queira interromper a execussão e só queira exibir o erro em um log então seria algo do tipo

try
  <comando>
except
  on E: Exception do
  begin
    Memo.Lines.Add(E.Message);
  end;
end;


se o while deve continuar suprima o raise postado pelo colega yallebr


GOSTEI 0
Sistemald

Sistemald

08/09/2005

valeu galera funcionou.

o que eu precisava era:

try 
<comando> 
except 
on E: Exception do 
begin 
ShowMessage(E.Message); 
end; 
end;


mas a outra dica usando raise também será muito util, em outrs situações

um abraço pra todos


GOSTEI 0
POSTAR