public class Error 
{
private const string FILE_NAME ="c:\\FengWuOAlog.txt";
public Error() {}
public static void Log(string message) {
if(File.Exists(FILE_NAME))
{
StreamWriter sr = File.AppendText(FILE_NAME);
sr.WriteLine ("\n");
sr.WriteLine("======================"+DateTime.Now.ToString()+"====================");
sr.WriteLine (DateTime.Now.ToString()+message);
sr.Close();
}
else
{
StreamWriter sr = File.CreateText(FILE_NAME);
sr.Close();
}
这是我在网上找的,可是我不会用,请大家指点一下!

解决方案 »

  1.   

    不用这么麻烦吧。C#中自己有错误提示机制。
    用Try{}catch吧
    try
    { }
    catch(Exception ee)
    {
    System.Diagnostics.Debug.Assert(false,ee.StackTrace,ee.Message);
    }
    如果只是在debug的时候用,release是不用,就在
    #if DEBUG
    System.Diagnostics.Debug.Assert(false,ee.StackTrace,ee.Message);
    #endif
    在不行,你就直接 throw new 抛出错误吧
      

  2.   

    在需要的地方调用静态方法 Error.Log(字符串); 就可以了
      

  3.   

    在你要的地方调用Error.Log(string message)。
      

  4.   

    你放到一个地方你就给message赋值就是,比如:string message="出现错误!!";
      

  5.   

    谢谢shalen520和ygjdatou,你们说的我明白了。但是File和StreamWriter需要引入命名空间,分别是什么?
      

  6.   

    to:noky,我的意思是用这部分代码把错误写到文本文件中去,你说的方法只是在运行的时候抛出错误吧?
      

  7.   

    大家好,现在我用大家说的办法解决了这个问题,知道怎么调用了,但是又产生了两个问题:
    1,在需要的地方调用静态方法Error.Log(字符串):如果我希望产生的字符串是其他末知类型的异常呢?该如何做?我试着先定义一个Exception e,然后再Error.Log(e.Message);可是不好用;
    2,我做这个功能的意图是在客户运行的时候把程序中所有可能产生的错误全部报告出来,这样我看到了错误文本文档就会知道该改正哪一部份,错误出在哪,这个我想大家也都清楚,那我是不是要在所有可能产生错误的程序段中加上下面的异常捕获呢?
    try
    {
    a_taihao=this.ActiveControl.Name.ToString();
    string str_rgName="select regionm,money2 from v
    DataTable dt_rgName=new DataTable ();
    dt_rgName=WxvClass.DataAccess.GetSqlData 
                                         .............
    }
    catch
    {
    string message="出现错误!";
    Error.Log(message );
    }
    关于这部份的功能大家都是如何思考的?