UnauthorizedAccessException против SecurityException - PullRequest
22 голосов
/ 26 февраля 2010

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

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

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

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

1 Ответ

12 голосов
/ 26 февраля 2010

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

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

...