.net - UnauthorizedAccessException 与 SecurityException

标签 .net exception-handling securityexception unauthorizedaccessexcepti

FileStream 的 MSDN 构造函数表示它可能会抛出 UnauthorizedAccessException 或 SecurityException。以下是 MSDN 关于这些异常的说明。

UnauthorizedAccessException:
当操作系统因 I/O 错误或特定类型的安全错误而拒绝访问时引发的异常。

SecurityException:
检测到安全错误时抛出的异常。

这两个相似的异常有何不同?什么情况会触发其中任何一个?

最佳答案

一个 UnauthorizedAccessException当访问磁盘上的文件时出现权限错误时抛出。这是操作系统级别的错误,例如普通用户试图覆盖操作系统文件(如 kernel32.dll)。

一个 SecurityException如果在 CLR 级别存在安全违规,则抛出。例如,如果您作为低访问权限的 ClickOnce 应用程序运行并尝试读取/写入文件系统中被进程中的 CLR 安全设置禁止的位置。

关于.net - UnauthorizedAccessException 与 SecurityException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2339251/

相关文章:

java - .NET 相当于现代 Java Web 架构

c# - 如何使用变量指定 C#.net (MVC) 中的列名

c# - 异常类可见性?

java - Applet:Java.lang.SecurityException:类 "..."的签名者信息与同一包中其他类的歌手信息不匹配

java - 获取 java.lang.SecurityException : Unsupported path. 但我正在请求权限

java - 我的 java 小程序上出现 SecurityException

c# - SslStream 上的 .NET XmlReader - 从流中读取多个 XML - 获取 XmlDocument

.NET Threadpool 工作线程和异步 IO 线程

Java 8 : Lambda-Streams, 按带有异常的方法过滤

Grails Controller 中的异常处理