2

不确定这里需要多少代码。我正在尝试创建一个不包含我用于处理 XML 文件的所有代码的 try 块。如果我无法读取 XML 文件,则会在此处收到 UnauthorizedAccessException 异常:

XmlReader xmlIn = XmlReader.Create(configFile, settings);

但是后来我的所有代码都读取了 XML,并且因为 xmlIn 在 Try 块中,所以我的方法中的其余代码看不到它。我考虑过可能创建一个默认的 XmlReader:

XmlReader xmlIn = null;

在 try 块之前,只是在 try 块中抛出初始化,但是该方法应该返回一个包含一些字符串的自定义对象,这会导致应该在该部分之后运行的代码抛出 NullReferenceException 异常。

我搜索了一段时间,我能想到的最好的是以下建议最好处理异常,而不是事先测试对文件的访问,这是我想尝试的:如何轻松检查是否.NET 中的文件被拒绝访问?

所以我有点卡在中间,以正确的方式处理我认为非常微不足道的代码。我是否只是将方法中的所有内容都放入 try 块中,在调用此方法的代码部分中使用 try,还是有更好的方法来处理这个问题?

4

1 回答 1

0
 XmlReader reader=null;
    try
    {
          //reader.Create code
    }
    catch
    {
        //your exception code
    }

    if(reader!=null)
    {
        //other tasks
    }
于 2013-05-18T06:16:49.767 回答