2013/04/15(Mon) 11:15:47 編集(投稿者)
new System.IO.StreamWriter(@"C:\test.log", true)で例外が出た場合にリトライをしたいということですね。
(書き込み処理(sw);の箇所で発生した例外はスローしたい)
それならば、usingするStreamWriterのインスタンス用にSystem.IO.StreamWriter(@"C:\test.log", true)を生成するメソッドを作成し、
その中でリトライのロジックを含めたらどうでしょう。
(以下のコード例は試していないので、誤記等あったらごめんなさい。)
using (System.IO.StreamWriter sw = MyMethod(@"C:\test.log", true))
{
書き込み処理(sw);
sw.Close();
}
private System.IO.StreamWriter MyMethod(string logfile, bool overwrite)
{
System.IO.StreamWriter sw;
try
{
sw = new System.IO.StreamWriter(logfile, overwrite);
}
catch
{
//ここにリトライの処理を入れる(以下略)
}
return sw;
}