将npgsqlexception字符串写入文件不写入

时间:2015-10-30 12:57:18

标签: c# file-io exception-handling

您好我正在尝试将npgsqlexception字符串放入文本文件中但不知何故它不写入它但字符串显示在控制台窗口中,Log.txt文件存在于调试文件夹中。这是代码:

catch (NpgsqlException ex)
{
   Console.WriteLine(ex);
   StreamWriter file = new StreamWriter("\\Log.txt");
   file.WriteLine(ex);
   file.Close();
}

1 个答案:

答案 0 :(得分:0)

您必须致电StreamWriter.Flush()将数据写入文件:

catch (NpgsqlException ex)
{
   Console.WriteLine(ex);
   StreamWriter file = new StreamWriter("Log.txt");
   file.WriteLine(ex);
   file.Flush();
   file.Close();
}

更新 - 同时删除反斜杠。如果它仍然无法正常工作,请尝试在StreamWriter构造函数中使用FileStream:

 StreamWriter file = new StreamWriter(new FileStream("Log.txt", FileMode.OpenOrCreate));

更新 - 如果仍然无法正常工作,那么还有其他一些问题。以上肯定会奏效。作为替代方案,您可以使用:

File.WriteAllText("Log.txt", ex.ToString());