System.IO.IOException: 函数不正确(debug不报错,直接运行exe报错)

laopi1989 2017-06-24 09:19:23
错误详细内容:

---------------------------

---------------------------
System.IO.IOException: 函数不正确。



在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

在 System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)

在 System.IO.FileStream.FlushWrite(Boolean calledFromFinalizer)

在 System.IO.FileStream.Dispose(Boolean disposing)

在 System.IO.Stream.Close()

在 System.IO.StreamWriter.Dispose(Boolean disposing)

在 System.IO.TextWriter.Dispose()

在 Lpts.Core.General.Common.AutoLogger.AddToLog(Int32 msgtype, String msgline, String linetypeblock) 位置 e:\SVN\Software\SourceCode\PC_Client\LptsCon\Lpts.Core.General\Common\AutoLogger.cs:行号 33****1安装路径: E:\SVN\Software\SourceCode\PC_Client\LptsCon\Install\ startup*******
---------------------------
确定
---------------------------


------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------
代码如下:
/// <summary>
/// 写日志
/// </summary>
/// <param name="msgtype">0 error,1 success,2 warning,3 status update</param>
/// <param name="msgline">内容</param>
/// <param name="linetypeblock">类型如startup,method,socket</param>
public void AddToLog(int msgtype, string msgline, string linetypeblock = "generic")
{
try
{
lock (lck_AddLog)
{
string str = string.Format("{0}", DateTime.Now);
using (StreamWriter writer = File.AppendText(this.GetFullFile()))
{
object[] arg = new object[] { str, this.GetMsgType(msgtype), linetypeblock, msgline };
writer.WriteLine("[{0}][{1}][{2}] {3}", arg);
writer.Flush();
}
}

}
catch(IOException ioException)
{
MessageBoxEx.Show(ioException.ToString() + "****" + msgtype.ToString() + msgline + linetypeblock + "*******");
}
catch (Exception ex)
{
MessageBoxEx.Show(ex.ToString() + "****" + msgtype.ToString() + msgline + linetypeblock + "*******");
throw;
}


}


...全文
827 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
及时雨送浆 2017-07-21
  • 打赏
  • 举报
回复
上面的人才又来教育人了,闲的吧
  • 打赏
  • 举报
回复
如果你有测试程序(既能够顺序测试又能并发测试),每天都运行过几万遍测试,那么你就应该对代码有一定的信心。这个时候你就敢说.net 的所谓的 core 之类的框架很不成熟了。
  • 打赏
  • 举报
回复
比如说,每隔几十分钟我每年都要运行测试程序,把几百个测试用例跑上几千测试。中午吃饭的时候,你可以让测试程序跑上2小时,回来再来看测试结果。 debug 模式是干这个的。 如果你按 F5 按钮,然后手动“点点点”,这根本没有测试。没有测试就不能说什么“不报错”,因为你根本没有测试!
  • 打赏
  • 举报
回复
引用 3 楼 laopi1989 的回复:
[quote=引用 1 楼 yuankaiwsl 的回复:] 会不会是你GetFullFile()方法里出的问题
debug跟踪了,没问题[/quote] 你写了并发测试程序了?贴出来的测试程序。 如果只是用手指头“点点点”,这不算什么测试。这说明你没有测试程序,只写了点代码,就混过去了。
laopi1989 2017-07-20
  • 打赏
  • 举报
回复
引用 2 楼 duanzi_peng 的回复:
Debug模式下调试看看
跟踪了,不报错,exe运行就报错,
laopi1989 2017-07-20
  • 打赏
  • 举报
回复
引用 1 楼 yuankaiwsl 的回复:
会不会是你GetFullFile()方法里出的问题
debug跟踪了,没问题
巴士上的邂逅 2017-06-24
  • 打赏
  • 举报
回复
会不会是你GetFullFile()方法里出的问题
exception92 2017-06-24
  • 打赏
  • 举报
回复
Debug模式下调试看看

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧