c# – 如何在不使用try-catch的情况下检查路径是否有效?
我想检查文件夹是否存在,如果没有,则创建它.但我不知道提供的路径是否有效.当路径无效时,会发生以下情况.
string path = "this is an invalid path"; if (!Directory.Exists(path)) Directory.CreateDirectory(path); //Exception thrown here 如果提供无效路径,则会抛出DirectoryNotFoundException异常. 如何阻止此异常发生?我不想使用try-catch.我想检测即使在异常发生之前也会发生此异常. 解决方法
代码失败的解释是路径无效.文件说:
试图提前预测是否可以创建目录是一项工作的魔鬼.您需要考虑安全性,操作系统名称规则和限制,文件系统名称规则和限制以及是否映射驱动器.可能还有更多的担忧.我不打算重新实现系统免费提供的功能. 在任何情况下,虽然您可以调用Directory.Exists,但仍然需要允许抛出异常.如果文件系统在对Directory.Exists的调用和对Directory.CreateDirectory的后续调用之间发生更改,则会引发异常.例如,如果另一个进程创建了您尝试创建的目录.当然,这是一个不太可能的事件,但它完全有可能. 总而言之,远距离的最佳选择是捕获异常.众所周知的说法是,要求宽恕比要求许可更好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- DataDir and DirectoryFactory in SolrConfig
- configure: error: Neither flex nor lex was found.
- 再也不学AJAX了!(二)使用AJAX
- React Native iOS 的 TransformErrorerror错误(.babelrc.st
- sqlite ON CONFLICT ABORT和FAIL之间的区别
- 解决UbuntuServer1.14.10安装build-essential等软件依赖lib
- c# – 我要“(int)null”返回我0
- c# – 如何一次更新一个GUI得分?
- 如何使用SQLite批量插入?
- c# – 实体是否有能力自我绘制?