Código:
try
{Mi Código}
finally
{Código que se ejecutará siempre}
end;
try
{Mi Código}
except
{Código que se ejecutará ante un Error}
end;
Try... es la forma de capturar errores que tiene Delphi, y es MUY diferente a la de VB. El concepto viene de C, y es mas o menos así... La idea es definir bloques de capturas de errores, estos bloques están definidos entre el Try y el End, cuando usamos Finally, como en el ejemplo que te pasé, es porque queremos que lo que esta entre Finally y End se ejecute SI O SI, aunque se produzca un error entre el Try y el Finally. Cuando usamos Except, es porque queremos que el código entre el Except y el End se ejecute solo cuando se produce un error en el bloque.
En consultas de selección es inapropiado utilizar transacciones, por eso te voy a cambiar el ejemplo a un update, donde tenemos todos los tipos de capturas de errores:
Código:
var
MiBase: TDatabase;
begin
MiBase := TDatabase.Create(Self);
try
MiBase.AliasName := 'MiAlias';
MiBase.Open;
MiBase.StartTransaction;
try
MiBase.Execute('INSERT.... ');
MiBase.Execute('UPDATE.... ');
MiBase.Commit;
except
MiBase.Rollback ;
raise;
end;
finally
MiBase.Free;
end;
end;
Te recomiendo leer los ejemplos de la ayuda.
Saludos!