已有57人关注
遍历文件夹出现“System.UnauthorizedAccessException”类型的异常,怎么忽略异常,继续遍历呢?
发表在C#图书答疑 2023-01-09 《零基础学C#》第12 章 I/O 数据流技术 307页-309页
是否精华
版块置顶:

【程序目的】:指定一个文件夹,遍历下面所有的文件夹,包括子文件下面的文件夹。 

【遇到问题】:遍历某个文件夹时,这个的文件夹没有读权限,抛出“System.UnauthorizedAccessException”类型的异常。例如:本次遍历到路径“C:\Users\Default User”,被拒绝访问。

【个人想法】:想过用try---catch语句,即使捕获到了异常,程序也就停止了。只是告诉这里出问题,但是不能忽略这个问题,继续跑程序。


【方案请教】:怎么跳过这个异常呢?不让遍历这个文件夹就不遍历了,继续遍历其他的文件夹。


部分代码:

 DirectoryInfo dinfo = new DirectoryInfo(folderFPath);   //创建文件夹对象
 DirectoryInfo[] fsinfos = dinfo.GetDirectories();       //获取指定目录下的所有子目录
 foreach (DirectoryInfo fsinfo in fsinfos)               //遍历获取指定目录下的所有子目录
 {
      ......  //代码略
  }


图片1

image.png



图片2

image.png


2023-01-09 19:40:36编辑
分享到:
精彩评论 1
小禾斗
学分:7338 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
2023-02-10
沙发

用dinfo.AreAccessRulesProtected判断一下权限

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照