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;
|