.net 中有关 system.io 的错误

Posted

技术标签:

【中文标题】.net 中有关 system.io 的错误【英文标题】:Error regarding system.io in .net 【发布时间】:2017-02-14 10:54:06 【问题描述】:

我的 .net 服务应用程序启动时偶尔会崩溃。在 Windows 事件查看器中进行调查后,我会收到以下消息:

应用程序:myapp.exe 框架版本:v4.0.30319 说明:进程因未处理的异常而终止。 异常信息:System.IO.IOException 在 System.IO.__Error.WinIOError(Int32, System.String) 在 System.IO.__Error.WinIOError() 在 System.Threading.EventWaitHandle.Set() 在 System.IO.FileStreamAsyncResult.AsyncFSCallback(UInt32,UInt32, System.Threading.NativeOverlapped*) 在 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)

从错误消息中,我不确定我的源代码的哪一部分给了我这个错误。你们知道这是什么错误吗?

是不是因为我没有在我的某些代码上放置 try/catch 块,所以它会出现此错误并导致我的应用程序崩溃?

【问题讨论】:

请不要关闭我的话题。我真的不知道错误是什么意思...请帮助。 请发布您的代码。它基本上只是听起来像有一个错误,你没有处理它,所以它强迫自己关闭。 我只有模糊的信息给你。是的,未处理的异常是由于您没有捕获和处理的异常。至于您的实际异常,堆栈跟踪似乎没有指向您的任何代码,我不知道如何解决这个问题。有很多原因可能会引发 IO 异常。您的程序显然将FileStream 附加到文件中,如此处System.IO.FileStreamAsyncResult.AsyncFSCallback 所示,例如,如果另一个程序或线程获得了对该文件的锁定,那么当您的文件流与之交互时,您将获得 IO 异常. KSib,我不认为可以发布代码.. 我的应用程序有接近 50 个 .cs 文件,我不确定是哪个导致此错误.. Quantic,你的意思是因为用户控制问题我写文件有问题?实际上我尝试以管理员身份运行我的应用程序,但仍然出现错误 【参考方案1】:

当发生 I/O 错误时将抛出此异常。当进程无法正确读取或写入时。可能是因为你的线程,无法正确完成。

“是不是因为我没有在我的一些代码上放置 try/catch 块,所以它会出现这个错误并导致我的应用程序崩溃?” -> 是的,您会看到错误,因为您没有使用任何 try/catch 块。

【讨论】:

是因为用户控制问题吗?实际上我尝试以管理员身份运行我的应用程序,但仍然出现错误 它不属于用户控件,因为如果是,则异常是Access Violation异常。我认为您的 Async 方法有问题。 什么是异步方法?是不是就像 Quantic 所说的那样,有两个线程要写入同一个文件? 异步方法是在另一个线程上运行以赋予应用程序责任的函数(Void)。它将用于并行进程。你用的是什么代码?那你在做什么?你在写文件吗?还是读书? 我的编码有数百个写文件和读文件功能。真的不知道是哪一个导致了这个错误。无论如何要识别它?

以上是关于.net 中有关 system.io 的错误的主要内容,如果未能解决你的问题,请参考以下文章

ASPP.NET CORE WEBAPI:文件上传错误:System.IO.InvalidDataException:超过多部分正文长度限制 16384

构建 Asp.Net Core 项目时出现 System.IO.PathTooLongException

.Net Core 2.1 System.IO.FileSystem.DriveInfo

.NET 升级发布后,IIS出现了System.IO.DirectoryNotFoundException

.NET 升级发布后,IIS出现了System.IO.DirectoryNotFoundException

.NET 升级发布后,IIS出现了System.IO.DirectoryNotFoundException