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

hol*_*erm 1 c# exception-handling

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

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

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

Ips*_*aur 6

File.ReadAllText抛出UnauthorizedAccessException以下情况

path指定了只读文件. - 或者 - 当前平台不支持此操作. - 或 - path指定了一个目录. - 或者 - 调用者没有所需的权限.

有关详细信息,请参阅以下链接

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