ちょっと調べたいことがありまして、Delphiが出力するエラーメッセージを
ファイルに保存しておきたいと考えております。
例えば、TStringList.SaveToFile(ファイル名)を実行したとき、
「ファイルC:\xxxxxx\xxxxx.txtを作成できません」をなどという
エラーが出ることがあるソフトがあるとして、↑このメッセージ
の文章をテキストファイルに保存しておくには、どのようにしたら
良いのでしょうか?
------
try
StringList1.SaveToFile(ファイル名);
except
//エラーが出た場合そのメッセージをテキストファイルなどに保存する。
・・ここにどのように書けばいいのか?・・
end;
-------
などのように考えています。
よろしくお願いいたします。
> try
>
> StringList1.SaveToFile(ファイル名);
>
> except
> //エラーが出た場合そのメッセージをテキストファイルなどに保存する。
>
> ・・ここにどのように書けばいいのか?・・
>
> end;
>
try
StringList1.SaveToFile(ファイル名);
except
on e:exception do
begin
// on e:exceptionを使うと
//e.messageにエラーメッセージが入ってきます。
//そのエラーメッセージをお使いになったらいかがでしょう?
//SaveToFileでエラーが出ているときに
//ファイルに出力できるのかは別問題ですが。
end
end;
| //SaveToFileでエラーが出ているときに
|//ファイルに出力できるのかは別問題ですが。
ですよね(^^;
Knockwood さんがお聞きしたいのはソフト上で起きた(何らかの)エラー全て
ということではないでしょうか?……とちょっとエスパーしてみると
TApplicationEvents コンポーネントの OnException イベントがお気軽です
procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
Memo1.Lines.Add(E.Message);
end;
違ったらすみません
o(^^ )o--------⊆^U)┬┬~...
Terry
どちらのコメントも大変参考になりました。
TApplicationEventsというコンポーネントは何年もDelphiをいじって
いて、これがあったのを気がついていませんでした。^^;
今やりたいことは、ファイルを頻繁に保存するプログラムがあるので
すが、ときどきファイルアクセスに関連するエラーが出て、出る場所が
一定しないので、どれくらいの頻度でどんなところでエラーが出るか
などを記録しておいて調べてみたかったからです。
現時点では、どちらの方法でも使えそうです。
エラーが出たとき、そのコードが実行されるかどうかは、他の方法も
含めて後で考えれば良いかと思っていました。
ひとまず教えていただいた方法でやってみます。
それでは、またよろしくお願いいたします。
Delphi にも、いろいろロガーが作られているようです。
EstLogger(フリー)
http://estlogger.sourceforge.net/
Log4D(フリー, log4Jベース)
http://sourceforge.net/projects/log4d/
EurekaLog($99)
http://www.eurekalog.com/index.php
Knockwood さんは書きました:
----------
東京都 日野市 中村拓男