UnauthorizedAccessException Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Исключение, которое возникает, когда операционная система запрещает доступ из-за ошибки ввода-вывода или определенного типа ошибки безопасности.
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 обычно создается методом, который упаковывает вызов API Windows. Чтобы найти причины исключения, изучите текст свойства Message объекта исключения.
UnauthorizedAccessException использует HRESULT
COR_E_UNAUTHORIZEDACCESS
, который имеет значение 0x80070005.
Конструкторы
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) |