• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
学习笔记
Misaka的学习笔记
博客园    首页    新随笔    联系   管理    订阅  订阅
打工笔记--------------------winform程序报错CLR20r3签名System.I0.IOException

先看问题

编写了一个程序在我本机运行没有问题,放到别人电脑上就有可能报这种错误

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("文件不存在");  
        }  
    }  
}

神器的不报错了

posted on 2023-12-19 16:41  我们打工人  阅读(2086)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3