先看问题
编写了一个程序在我本机运行没有问题,放到别人电脑上就有可能报这种错误
System.I0.IOException
首先我问了一下ChatPgt:
他说:
CLR20r3 是一个通用的错误代码,表示在 .NET Framework 中发生了未处理的异常。System.IO.IOException 是与输入/输出操作相关的一个常见异常。 当你在 WinForms 应用程序中遇到这种错误时,通常是由以下原因引起的: 1、文件访问问题:尝试读取、写入或修改一个文件时,可能因为路径不存在、文件被其他进程锁定、磁盘空间不足等原因导致异常。 2、网络问题:在尝试从网络位置读取或写入数据时,网络连接可能中断或不稳定。 资源未释放:例如,文件流或数据库连接在使用后没有被正确关闭。
3、硬件问题:如硬盘故障、驱动器问题等也可能引发此类异常。
4、应用程序权限问题:尝试访问受限资源时,例如注册表、某些目录等,但没有相应的权限。 其他因素:例如第三方库、组件或API的bug,或是与操作系统或其他软件的兼容性问题。
考虑了一下,我确实在程序中尝试读取和修改几个文件,但我确信这几个文件是存在的
但是文件有没有被占用就不知道了
所有在使用文件之前加了一个判断
using System; using System.IO; class Program { static void Main() { string filePath = @"C:\example\file.txt"; if (File.Exists(filePath)) { if (File.IsLocked(filePath)) { Console.WriteLine("文件已被其他进程占用"); } else { Console.WriteLine("文件未被占用"); } } else { Console.WriteLine("文件不存在"); } } }
神器的不报错了
标签:文件,Console,filePath,I0,System,IOException,报错 From: https://www.cnblogs.com/misakayoucn/p/17914138.html