Fórum except on E:Exception do #330605
03/10/2006
0
Tem como colocar um loop dentro do except de um try tipo
try SQLQ_TABLE.ExecSQL; except on E:Exception do begin while E.Message <> ´´ do begin xRECNO := IntToStr(StrToInt(xRECNO) + 1); SQLQ_TABLE.ExecSQL; end; end; end;
Na verdade eu quero que enquanto tiver uma excecao fique incrementando 1 na variavel xRECNO ate achar um numero que nao tenha sido usado e executar a query.
try SQLQ_TABLE.ExecSQL; except on E:Exception do begin xRECNO := IntToStr(StrToInt(xRECNO) + 1); SQLQ_TABLE.ExecSQL; end; end;
Claudio_f
Curtir tópico
+ 0Posts
03/10/2006
Massuda
var Sucesso: Boolean; ... Sucesso := False; repeat // prepara para executar a SQL try SQLQ_TABLE.ExecSQL; Sucesso := True; except on E:Exception do xRECNO := IntToStr(StrToInt(xRECNO) + 1); end; until Sucesso;
Gostei + 0
03/10/2006
Marco Salles
var deucerto:boolean; begin deucert0:=false; while not deucerto do begin try try SQLQ_TABLE.ExecSQL; deucerto:=True; except on E:Exception do xRECNO := IntToStr(StrToInt(xRECNO) + 1); finally if deucerto then Break end; end;
uso o bloco finally para não haver estou de memória , pq presupoe-se que havera muitas exceções.
Mas o correto é , sabendo que alguma exceção , possa ocorrer , impedi-la
exceção , seria mesmo , quando algo ocorre-se fora do ´controle´
Um programa pode ter muitas blocos Try/finally , algumas instruçoes raises e pouquissimos blocos try/except
Gostei + 0
03/10/2006
Claudio_f
Obrigado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)