0

因此,在我的 treeView_AfterLabelEdit 中,我想应用用户输入的文件夹名称,并查看文件系统是否返回重复名称的错误。有没有一种优雅的方法可以使用 try-catch 块来做到这一点?

提前致谢!

4

2 回答 2

0

是的,所以这显然是一个TOCTOU问题——这意味着唯一合理安全的解决方案是“尝试创建它,如果这不起作用就抱怨”。- 做任何其他事情只会使代码更复杂,你仍然必须检查代码尝试创建它时是否有错误。

于 2013-06-27T16:04:29.830 回答
0

首先,我从您的 treeView_AfterLabelEdit 中假设您正在使用 .Net 和 VC++。

我不知道你可以通过异常处理来做到这一点,但这里有一些其他的想法:

你可以使用Directory::CreateDirectory. 这将创建目录,如果它已经存在,它不会做任何事情。

Directory::Exists将让您在使用它之前检查目录是否存在。

不过,我不确定这与比赛条件有什么关系。

于 2013-06-27T15:49:58.450 回答