先看问题
编写了一个程序在我本机运行没有问题,放到别人电脑上就有可能报这种错误
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("文件不存在"); } } }
神器的不报错了
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库