OnError エラートラップ

OnErrorステートメントは例外発生時にに処理するエラー用ルーチンを指定します。
Delphiでの例外処理は try..except を使用します。
try から except までは保護したい処理を記述し、except から end までは例外発生時の処理を記述します。

■ try .. except の例
procedure TForm1.Button1Click(Sender: TObject);
begin
  Database1.StartTransaction;
  try
    with  Query1  do  begin
      Edit;
      FieldByName('KINGAKU').AsCurrency :=
          FieldByName('TANKA').AsFloat * FieldByName('SURYO').AsFloat;   
      Post;
    end;
    Database1.Commit;
  except
    //例外発生時の処理
    Query1.Close;
    Database1.Rollback;
  end;
end;

■ try .. finally の例
procedure TForm1.Button1Click(Sender: TObject);  
var
  S : TStringList;
begin
  try
    S :=  TStringList.Create;
    S.LoadFromFile('D:\a.txt');
    S.SaveToFile('D:\b.txt');
  finally
    //例外発生に関係なく確実に処理する
    S.Free;
  end;
end;