【问题标题】:Is this a error waiting to happen?这是一个等待发生的错误吗?
【发布时间】:2013-01-17 11:47:12
【问题描述】:

我定义如下字符串;

static string DIRname = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\" + "MSB" + "\\";

然后在一个函数中使用下面的;

if (!Directory.Exists(DIRname))
{
    Directory.CreateDirectory(DIRname);
}

问题: 在检查字符串是否存在之前在字符串中定义不存在的文件夹路径是一种不好的做法吗?

如你所见,我定义了字符串,如果目录存在则调用!

谢谢。

我正在尝试减少我的程序中可能出现的错误数量,我只是在我认为“等待发生的错误”中发现了这一点,因此我请教各位专家!

【问题讨论】:

  • 这是一个等待发生的错误吗?你只是在存储数据..
  • 是的,但是我存储的数据在调用创建它的函数之前不存在,这很糟糕吗?
  • 当然不是。它的清洁剂。当您将其存储在变量中时,您不会复制代码。此外,这不是等待发生的错误,因为您正在检查目录是否存在。唯一可能发生的错误是尝试创建目录时的权限错误。
  • 是的,这是一场等待发生的意外。如果没有 UAC 提升,程序就没有对该目录的写访问权限。该目录必须由安装程序创建。抢先:很多人确实有一台机器,这个目录是可写的。安装程序解决了一个常见问题。

标签: c# string path console directory


【解决方案1】:

我不会说这是一个等待发生的错误。不过,您确实应该使用Path.CombineFile.ExistsDirectory.Exists 无论如何都不要为不存在的路径抛出异常。

【讨论】:

    猜你喜欢
    • 2012-09-18
    • 2012-03-25
    • 2010-12-22
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多