20

Конструктор MSDN для FileStream говорит, что он может вызывать исключение UnauthorizedAccessException или SecurityException. Вот что говорит MSDN об этих исключениях.UnauthorizedAccessException vs SecurityException

UnauthorizedAccessException: Исключение, которое вызывается, когда операционная система отказывает в доступе из-за ошибки ввода-вывода или определенного типа ошибки безопасности.

SecurityException: Исключение, возникающее при обнаружении ошибки безопасности.

Как эти два подобных исключения отличаются? Какие ситуации вызовут любой из них?

+0

+1 горячая тема безопасности –

+0

Не используйте 'dotnet' как тег! –

+0

plz help me http://stackoverflow.com/questions/41570604/file-setattribute-method-not-throwing-unauthorizedaccessexception-when-read-only – YakRangi

ответ

11

A UnauthorizedAccessException вызывается при возникновении ошибки разрешения доступа к файлу на диске. Это ошибка на уровне операционной системы, например, обычный пользователь, пытающийся перезаписать файл операционной системы (например, kernel32.dll).

A SecurityException выдается, если на уровне CLR есть нарушение безопасности. Например, если вы работаете как приложение с низким доступом ClickOnce и пытаетесь прочитать/записать место в файловой системе, которое запрещено параметрами безопасности CLR в этом процессе.

+0

Так что если я попытался написать/создать файл на сетевом диске, который у текущего пользователя нет доступа на запись, тогда он выкинет UnauthorizedAccessException? –

+0

Пожалуйста, добавьте еще несколько описаний или примеров, чтобы понять, как они отличаются друг от друга. –

+0

, пожалуйста, помогите мне с этим http://stackoverflow.com/questions/41570604/file-setattribute-method-not-throwing-unauthorizedaccessexception-when-read-only – YakRangi

Смежные вопросы