UnauthorizedAccessException vs SecurityException
-
22-09-2019 - |
Pergunta
O construtor MSDN para um FileStream diz que pode lançar um UnauthorizedAccessException ou um SecurityException.Aqui está o que o MSDN diz sobre essas exceções.
Exceção de acesso não autorizado:A exceção lançada quando o sistema operacional nega acesso devido a um erro de E/S ou a um tipo específico de erro de segurança.
Exceção de segurança:A exceção lançada quando um erro de segurança é detectado.
Como essas duas exceções semelhantes são diferentes?Que situações irão desencadear qualquer um deles?
Solução
A UnauthorizedAccessException
é lançado quando há um erro de permissão ao acessar o arquivo no disco.Esse é um erro no nível do sistema operacional, como um usuário normal tentando substituir um arquivo do sistema operacional (como kernel32.dll).
A SecurityException
é lançado se houver uma violação de segurança no nível CLR.Por exemplo, se você estiver executando um aplicativo ClickOnce de baixo acesso e tentar ler/gravar em um local no sistema de arquivos proibido pelas configurações de segurança do CLR no processo.