Como cancelar o restante das operações após uma exceção?

Delphi

02/03/2006

Caros amigos,

Tenho um procedimento que quero torná-lo público. Ele será chamado quando ocorrerem algumas exceções, mas desejo saber se existe algum comando, sem ser o EXIT, que eu possa colocar nele para cancelar outras operações que existam depois de um bloco Try...Except.

Alguem sabe se isso é possível??


Alex Maia

Alex Maia

Curtidas 0

Respostas

Sourcecode

Sourcecode

02/03/2006

Use Abort;


GOSTEI 0
Alex Maia

Alex Maia

02/03/2006

Não funcionou amigo. Tem outra forma?


GOSTEI 0
Paullsoftware

Paullsoftware

02/03/2006

sendo assim crie uma variável tipo...
var
a,b:Integer;
wErro:Booloean
begin
wErro := False;
Try
a := StrToInt(´1,5´);
b := 10;
ShowMessage(IntToStr(a+b));
Except
on msg : Execption do
begin
ShowMessage(´Ocorreu um Erro´);
wErro := True;
end;
if Not wErro then
begin
//Continuo com a execução...
end;

veja se assim funciona! :wink:


GOSTEI 0
Paullsoftware

Paullsoftware

02/03/2006

[b:26198bfe11]A RESPOSTA ANTERIOR FICOU SEM O ´[C O D E ]´[/b:26198bfe11]
sendo assim crie uma variável tipo...
var
a,b:Integer;
wErro:Booloean
begin
wErro := False;
Try
a := StrToInt(´1,5´);
b := 10;
ShowMessage(IntToStr(a+b));
Except
on msg : Execption do
 begin
 ShowMessage(´Ocorreu um Erro´);
 wErro := True;
 end;
if Not wErro then
 begin
 //Continuo com a execução...
 end;

veja se assim funciona! :wink:


GOSTEI 0
Marco Salles

Marco Salles

02/03/2006

Tenho um procedimento que quero torná-lo público. Ele será chamado quando ocorrerem algumas exceções, mas desejo saber se existe algum comando, sem ser o EXIT, que eu possa colocar nele para cancelar outras operações que existam depois de um bloco Try...Except.


tercnicamente a maneira correta e usar um flag com sugerifo pelo paulo , mas com dois try aninhados.. Assim evita varios incovenientes , e temos a garantia que o boloco final sera sempre executado.

var
 Verro:Boolean;
begin
try
  try
    Verro:=False;
    //
  except
    on Exception do
      begin
        //
      end;
  end;
finally
  if Verro Then
    //
end;



GOSTEI 0
POSTAR