我需要创建一个文件,并将每个异常都写入文件中。我正在使用波纹管代码来做到这一点。
File.Create(filePath);
File.AppendText("Exception Detail Start-------------------------------------------");
File.AppendText("Stack Trace :" + ex.StackTrace );
File.AppendText("Error :" + ex.Message );
File.AppendText("Exception Detail End-------------------------------------------");
但我发现了以下错误:
Additional information: Access to the path 'C:\Program Files (x86)\IIS Express\Exception Detail Start-------------------------------------------' is denied`
答案 0 :(得分:2)
您不写入创建的文件。
FileStream writer = File.Create(filePath);
writer.AppendText("Exception Detail Start-------------------------------------------");
writer.AppendText("Stack Trace :" + ex.StackTrace );
writer.AppendText("Error :" + ex.Message );
writer.AppendText("Exception Detail End-------------------------------------------");
这应该有效。
答案 1 :(得分:1)
File.AppendText采用文件路径并返回// example
const x = { a: 1, b: { c: []}}
const y = {...x, b: { [x.b.c] : [...x.b.c, 1] }}
console.log(y);
。因此,在您的情况下,您将异常消息作为文件路径传递,因此找不到该文件(它正在当前目录中查找名为“ Exception Detail Start ------------的文件” -------------------------------“)。
在您的情况下,您可能要使用File.AppendAllText。
打开一个文件,将指定的字符串附加到该文件,然后 关闭文件。如果文件不存在,此方法将创建一个 文件,将指定的字符串写入文件,然后关闭文件。
将行附加到文件,然后关闭文件。如果指定 文件不存在,此方法创建一个文件,写入指定的 行到文件,然后关闭文件。
示例:
StreamWriter
答案 2 :(得分:0)
您的C \ program文件(x86)路径通常需要管理权限才能写入文件。尝试以管理员身份启动应用程序。 (或者以管理员身份启动Visual Studio并运行您的项目)
如果在以管理员身份运行时成功写入文件,则可以考虑选择一个不需要管理特权的文件夹,或者将特权添加到程序的所选文件夹中。