不确定这里需要多少代码。我正在尝试创建一个 try block ,它不包含我用于处理 XML 文件的所有代码。如果我无法读取 XML 文件,则会在此处收到 UnauthorizedAccessException 异常:
XmlReader xmlIn = XmlReader.Create(configFile, settings);
但是我拥有读取 XML 的所有代码,并且因为 xmlIn 位于 Try block 中,所以我方法中的其余代码看不到它。我考虑过创建一个默认的 XmlReader:
XmlReader xmlIn = null;
在 try block 之前,只是在 try block 中抛出初始化,但该方法应该返回一个包含一些字符串的自定义对象,这会导致应该在该部分之后运行的代码抛出 NullReferenceException 异常。
我搜索了一段时间,我能想到的最好的是以下建议最好处理异常,而不是事先测试对文件的访问,这是我想尝试的:how can you easily check if access is denied for a file in .NET?
因此,我在处理这段代码的正确方法时陷入了困境,我认为这很简单。我是将方法中的所有内容都放入 try block 中,还是在调用此方法的代码部分使用 try,还是有更好的方法来处理此问题?
最佳答案
XmlReader reader=null;
try
{
//reader.Create code
}
catch
{
//your exception code
}
if(reader!=null)
{
//other tasks
}
关于c# - 如何处理 XmlReader.Create 的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621314/