UnauthorizedAccessException 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当操作系统因 I/O 错误或特定类型的安全错误而拒绝访问时引发的异常。
public ref class UnauthorizedAccessException : Exception
public ref class UnauthorizedAccessException : SystemException
public class UnauthorizedAccessException : Exception
public class UnauthorizedAccessException : SystemException
[System.Serializable]
public class UnauthorizedAccessException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class UnauthorizedAccessException : SystemException
type UnauthorizedAccessException = class
inherit Exception
type UnauthorizedAccessException = class
inherit SystemException
[<System.Serializable>]
type UnauthorizedAccessException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type UnauthorizedAccessException = class
inherit SystemException
Public Class UnauthorizedAccessException
Inherits Exception
Public Class UnauthorizedAccessException
Inherits SystemException
- 继承
- 继承
- 派生
- 属性
示例
以下示例演示尝试写入只读文件时引发的 UnauthorizedAccessException 异常。
using System;
using System.IO;
public class Example
{
public static void Main()
{
string filePath = @".\ROFile.txt";
if (! File.Exists(filePath))
File.Create(filePath);
// Keep existing attributes, and set ReadOnly attribute.
File.SetAttributes(filePath,
(new FileInfo(filePath)).Attributes | FileAttributes.ReadOnly);
StreamWriter sw = null;
try {
sw = new StreamWriter(filePath);
sw.Write("Test");
}
catch (UnauthorizedAccessException) {
FileAttributes attr = (new FileInfo(filePath)).Attributes;
Console.Write("UnAuthorizedAccessException: Unable to access file. ");
if ((attr & FileAttributes.ReadOnly) > 0)
Console.Write("The file is read-only.");
}
finally {
if (sw != null) sw.Close();
}
}
}
// The example displays the following output:
// UnAuthorizedAccessException: Unable to access file. The file is read-only.
open System
open System.IO
let filePath = @".\ROFile.txt"
if File.Exists filePath |> not then
File.Create filePath |> ignore
// Keep existing attributes, and set ReadOnly attribute.
File.SetAttributes(filePath, (FileInfo filePath).Attributes ||| FileAttributes.ReadOnly)
do
use sw = new StreamWriter(filePath)
try
sw.Write "Test"
with :? UnauthorizedAccessException ->
let attr = (FileInfo filePath).Attributes
printf "UnAuthorizedAccessException: Unable to access file. "
if int (attr &&& FileAttributes.ReadOnly) > 0 then
printf "The file is read-only."
// The example displays the following output:
// UnAuthorizedAccessException: Unable to access file. The file is read-only.
Imports System.IO
Module Example
Public Sub Main()
Dim filePath As String = ".\ROFile.txt"
If Not File.Exists(filePath) Then File.Create(filePath)
' Keep existing attributes, and set ReadOnly attribute.
File.SetAttributes(filePath,
(New FileInfo(filePath)).Attributes Or FileAttributes.ReadOnly)
Dim sw As StreamWriter = Nothing
Try
sw = New StreamWriter(filePath)
sw.Write("Test")
Catch e As UnauthorizedAccessException
Dim attr As FileAttributes = (New FileInfo(filePath)).Attributes
Console.Write("UnAuthorizedAccessException: Unable to access file. ")
If (attr And FileAttributes.ReadOnly) > 0 Then
Console.Write("The file is read-only.")
End If
Finally
If sw IsNot Nothing Then sw.Close()
End Try
End Sub
End Module
' The example displays the following output:
' UnAuthorizedAccessException: Unable to access file. The file is read-only.
注解
UnauthorizedAccessException 异常通常由包装 Windows API 调用的方法引发。 若要查找异常的原因,请检查异常对象的 Message 属性的文本。
UnauthorizedAccessException 使用具有值0x80070005的 HRESULT
COR_E_UNAUTHORIZEDACCESS
。
构造函数
UnauthorizedAccessException() |
初始化 UnauthorizedAccessException 类的新实例。 |
UnauthorizedAccessException(SerializationInfo, StreamingContext) |
已过时.
使用序列化的数据初始化 UnauthorizedAccessException 类的新实例。 |
UnauthorizedAccessException(String) |
使用指定的错误消息初始化 UnauthorizedAccessException 类的新实例。 |
UnauthorizedAccessException(String, Exception) |
使用指定的错误消息和对作为此异常原因的内部异常的引用初始化 UnauthorizedAccessException 类的新实例。 |
属性
Data |
获取键/值对的集合,这些键/值对提供有关异常的其他用户定义的信息。 (继承自 Exception) |
HelpLink |
获取或设置与此异常关联的帮助文件的链接。 (继承自 Exception) |
HResult |
获取或设置 HRESULT,它是分配给特定异常的编码数值。 (继承自 Exception) |
InnerException |
获取导致当前异常的 Exception 实例。 (继承自 Exception) |
Message |
获取描述当前异常的消息。 (继承自 Exception) |
Source |
获取或设置导致错误的应用程序或对象的名称。 (继承自 Exception) |
StackTrace |
获取调用堆栈上即时帧的字符串表示形式。 (继承自 Exception) |
TargetSite |
获取引发当前异常的方法。 (继承自 Exception) |
方法
Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
GetBaseException() |
在派生类中重写时,返回一个或多个后续异常的根本原因 Exception。 (继承自 Exception) |
GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
GetObjectData(SerializationInfo, StreamingContext) |
已过时.
在派生类中重写时,使用有关异常的信息设置 SerializationInfo。 (继承自 Exception) |
GetType() |
获取当前实例的运行时类型。 (继承自 Exception) |
MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
ToString() |
创建并返回当前异常的字符串表示形式。 (继承自 Exception) |
事件
SerializeObjectState |
已过时.
序列化异常以创建包含有关异常的序列化数据的异常状态对象时发生。 (继承自 Exception) |