string path = @"..\..\ErrorMesage";
if(!System.IO.Directory.Exists(path))
{
    System.IO.Directory.CreateDirectory(path);
    using(StreamWriter sw = File.CreateText(path+@"\errorMessage.txt"))
    {
        sw.WriteLine("【");
        sw.WriteLine("错误时间:"+dt);
        sw.WriteLine("错误信息:"+errorMessage);
        sw.WriteLine("错误位置:"+StackTrace);
        sw.WriteLine("】");
        sw.WriteLine("\r\n");
    }
}
else
{
    using(StreamWriter sw = File.CreateText(path+@"\errorMessage.txt"))
    {
        sw.WriteLine("【");
        sw.WriteLine("错误发生时间:"+dt);
        sw.WriteLine("错误信息:"+errorMessage);
        sw.WriteLine("错误发生位置:"+StackTrace);
        sw.WriteLine("】");
        sw.WriteLine("\n");
     }
}这个怎么加进代码里?

解决方案 »

  1.   

    樓主好像是在進行錯誤處理,應該放在try   catch 裡面把?
      

  2.   

    不是很清楚lz要干什么,ms这个是出错后的处理,应该放在 catch里面代码冗余大了点儿
      

  3.   

    楼主可以建立一个控制能程序,然后把这个代码放到Main函数里执行就是了.
      

  4.   

    大哥报错啊
    请问下StackTrace和errorMessage,dt的命名空间是什么?
      

  5.   

    StackTrace在System.Diagnostics里,
    所以 
    using System.Diagnostics;
    就行了但是errorMessage和dt是变量,这就要先定义了.
      

  6.   

    另外你还要引用using System.IO;
      

  7.   

    常用的记录代码.做成底层的一个类的静态方法.在需要的地方调用.public class Log()
    {
    public static void WriteLog(string msg)
    {
    XXXX Lz的代码.
    }
    }
      

  8.   

    错误 1 “System.Diagnostics.StackTrace”是“类型”,但此处被当做“变量”来使用 C:\Documents and Settings\user\My Documents\Visual Studio 2005\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs 25 44 ConsoleApplication1
      

  9.   

    有这两个引用吗?using System.IO;
    using System.Diagnostics;
      

  10.   

    我觉得:
    dt是一个时间类型的变量,可以用DatetTime.Now.ToString()来表示
    errorMessage是一个字符串变量
    StackTrace可能是用来给出出错时的位置的,但是我真不知道怎么用这个得到这个位置.更不知道你的代码是从哪里来的.