[Delphi:91062] エラーメッセージをファイルに保存したいのですが

950 views
Skip to first unread message

Knockwood

unread,
Feb 10, 2009, 8:37:20 AM2/10/09
to Del...@ml.users.gr.jp
お世話になります。Knockwoodです。

ちょっと調べたいことがありまして、Delphiが出力するエラーメッセージを
ファイルに保存しておきたいと考えております。

例えば、TStringList.SaveToFile(ファイル名)を実行したとき、
「ファイルC:\xxxxxx\xxxxx.txtを作成できません」をなどという
エラーが出ることがあるソフトがあるとして、↑このメッセージ
の文章をテキストファイルに保存しておくには、どのようにしたら
良いのでしょうか?

------
try

StringList1.SaveToFile(ファイル名);

except
//エラーが出た場合そのメッセージをテキストファイルなどに保存する。

・・ここにどのように書けばいいのか?・・

end;
-------

などのように考えています。
よろしくお願いいたします。

渡辺

unread,
Feb 10, 2009, 8:48:42 AM2/10/09
to Del...@ml.users.gr.jp
渡辺です。
こんばんは。

> try
>
> StringList1.SaveToFile(ファイル名);
>
> except
> //エラーが出た場合そのメッセージをテキストファイルなどに保存する。
>
> ・・ここにどのように書けばいいのか?・・
>
> end;
>

try
StringList1.SaveToFile(ファイル名);
except
on e:exception do
begin
// on e:exceptionを使うと
//e.messageにエラーメッセージが入ってきます。
//そのエラーメッセージをお使いになったらいかがでしょう?
 //SaveToFileでエラーが出ているときに
//ファイルに出力できるのかは別問題ですが。
end
end;

Terry

unread,
Feb 10, 2009, 9:18:14 AM2/10/09
to Del...@ml.users.gr.jp
Knockwood さん、渡辺 さん、こんにちは。Terry(寺田)です(^-^)

| //SaveToFileでエラーが出ているときに
|//ファイルに出力できるのかは別問題ですが。

ですよね(^^;
Knockwood さんがお聞きしたいのはソフト上で起きた(何らかの)エラー全て
ということではないでしょうか?……とちょっとエスパーしてみると

TApplicationEvents コンポーネントの OnException イベントがお気軽です

procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
Memo1.Lines.Add(E.Message);
end;

違ったらすみません

o(^^ )o--------⊆^U)┬┬~...
Terry

Knockwood

unread,
Feb 11, 2009, 3:43:08 AM2/11/09
to Del...@ml.users.gr.jp

渡辺 さん、Terry(寺田)さん、ありがとうございました。

どちらのコメントも大変参考になりました。

TApplicationEventsというコンポーネントは何年もDelphiをいじって
いて、これがあったのを気がついていませんでした。^^;

今やりたいことは、ファイルを頻繁に保存するプログラムがあるので
すが、ときどきファイルアクセスに関連するエラーが出て、出る場所が
一定しないので、どれくらいの頻度でどんなところでエラーが出るか
などを記録しておいて調べてみたかったからです。

現時点では、どちらの方法でも使えそうです。
エラーが出たとき、そのコードが実行されるかどうかは、他の方法も
含めて後で考えれば良いかと思っていました。

ひとまず教えていただいた方法でやってみます。
それでは、またよろしくお願いいたします。

中村拓男

unread,
Mar 6, 2009, 5:19:33 AM3/6/09
to Del...@ml.users.gr.jp
亀レスですいません。

Delphi にも、いろいろロガーが作られているようです。

EstLogger(フリー)
http://estlogger.sourceforge.net/

Log4D(フリー, log4Jベース)
http://sourceforge.net/projects/log4d/

EurekaLog($99)
http://www.eurekalog.com/index.php

Knockwood さんは書きました:

----------
東京都 日野市 中村拓男

Reply all
Reply to author
Forward
0 new messages