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