我有一个.Net控制台应用程序。我想捕获执行期间发生的任何异常并将其写入文本文件。如果之前文件中有任何条目,我正在
该进程无法访问该文件,因为该文件正由另一个进程使用。
我尝试关闭连接,但是它仍显示相同的错误。
catch (Exception ex)
{
using (System.IO.StreamWriter writeerror = new System.IO.StreamWriter(_txtError))
{
writeerror.WriteLine(ex.Message);
writeerror.Flush();
writeerror.Close();
}
}
注意:在程序执行开始时,我正在删除文件并在发生任何错误时重新生成。
答案 0 :(得分:0)
最后我发现了问题所在。在所有功能结束时,我有一个发送电子邮件功能,它将日志文件作为附件发送到组。问题是从我的工作站我无法发送电子邮件。一旦在服务器中部署代码,电子邮件任务将按照预期的方式运行。我有一个类似的发送电子邮件任务的catch stmt,当它失败时,它尝试在电子邮件任务中写入我正在附加的相同错误文件。一旦我删除了catch逻辑,问题就解决了。呼!我知道..这是一个愚蠢的错误! :(从这个错误中学到了一些东西