Подтвердить что ты не робот

UnauthorizedAccessException vs SecurityException

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

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

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

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

4b9b3361

Ответ 1

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

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