Fórum Try except #294836

08/09/2005

0

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

Responder

Posts

08/09/2005

Andremuller

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


Responder

Gostei + 0

08/09/2005

Yallebr

o Correto é

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



Responder

Gostei + 0

08/09/2005

Sistemald

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.


Responder

Gostei + 0

08/09/2005

Andremuller

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


Responder

Gostei + 0

08/09/2005

Sistemald

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


Responder

Gostei + 0

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

Aceitar