再次,我正在努力理解GetFiles
中方法System.IO.Directory
的未记录行为(这会让我发疯)。在运行一些例行测试时,我惊讶地发现,对此方法的调用抛出了NotSupportedException
类型的异常,MSDN page about GetFiles
中未提及该异常,其他例外是
例如,在C#中进行此调用:
Directory.GetFiles(@"XY:");
抛出NotSupportedException
。我的第一印象是文档页面缺少一条信息,但在再次思考之后,我并不确定。我的意思是我一直在假设在使用.NET Framework类时我需要关注的所有异常都是众所周知的并且有文档记录。
例如,当我加入字符串时,我从未为FileNotFoundException
添加处理程序,因为我不希望在那里发生此异常。
我的假设是错的吗?我是否应该期望至少某些例外情况可能会像OutOfMemoryException
那样突然出现?我需要阅读的任何陈述?
答案 0 :(得分:1)
当然可以在没有警告的情况下随时发生某些类型的异常(一个很好的例子就是经典的StackOverflowException
)。
我将这个特殊情况称为文档错误。 NotSupportedException
的文档确实提到了System.IO
类,并且还说HRESULT
值COR_E_NOTSUPPORTED
转换为所述异常类型。我不确定是否有理由要求将 PInvoked代码的每个可能的错误结果清楚地列为可能的异常类型,但这就是这里似乎发生的事情。