UnauthorizedAccessException vs SecurityException
Конструктор MSDN для FileStream говорит, что он может вызывать либо UnauthorizedAccessException, либо SecurityException. Здесь MSDN говорит об этих исключениях.
UnauthorizedAccessException:
Исключение, которое вызывается, когда операционная система отказывает в доступе из-за ошибки ввода-вывода или определенного типа ошибки безопасности.
SecurityException:
Исключение, которое вызывается при обнаружении ошибки безопасности.
Как эти два подобных исключения отличаются? Какие ситуации вызовут любой из них?
Ответы
Ответ 1
A UnauthorizedAccessException
выбрасывается, когда возникает ошибка доступа к файлу на диске. Это ошибка на уровне операционной системы, например, обычный пользователь, пытающийся перезаписать файл операционной системы (например, kernel32.dll).
A SecurityException
бросается, если на уровне CLR есть нарушение безопасности. Например, если вы работаете как приложение с низким доступом ClickOnce и пытаетесь прочитать/записать место в файловой системе, которое запрещено параметрами безопасности CLR в этом процессе.