当给出dir路径时,C#File.ReadAllText()抛出“错误”异常 - 为什么?

时间:2017-09-28 07:07:31

标签: c# exception-handling

C#方法File.ReadAllText(string filePath)不接受目录路径作为参数 - 它需要一个文件路径。我明白了。

但为什么在这种情况下会抛出UnauthorizedAccessException而不是ArgumentException?我认为这不直观。

有没有人解释让我对此感觉更好?

2 个答案:

答案 0 :(得分:6)

File.ReadAllText在以下情况下抛出UnauthorizedAccessException

  

path指定了只读文件。   -要么-   当前平台不支持此操作。   -要么-   path指定了一个目录。   -要么-   来电者没有所需的许可。

请参阅以下链接以获取更多信息

https://msdn.microsoft.com/en-us/library/ms143369(v=vs.110).aspx

答案 1 :(得分:0)

当您的最终 exe 文件需要一些特权时会发生这种情况。

尝试以管理员身份运行。