20

Il costruttore MSDN per un FileStream dice che può lanciare una UnauthorizedAccessException o una SecurityException. Ecco cosa MSDN dice su queste eccezioni.UnauthorizedAccessException vs SecurityException

UnauthorizedAccessException: L'eccezione che viene generata quando il sistema operativo nega l'accesso a causa di un errore I/O o di un tipo specifico di errore di sicurezza.

SecurityException: L'eccezione che viene generata quando viene rilevato un errore di sicurezza.

Come sono diverse queste due eccezioni simili? Quali situazioni attiveranno l'uno o l'altro?

+0

+1 hot topic security –

+0

Non utilizzare 'dotnet' come tag! –

+0

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

risposta

11

A UnauthorizedAccessException viene generato quando si verifica un errore di autorizzazione durante l'accesso al file sul disco. Questo è un errore a livello di sistema operativo come un utente normale che tenta di sovrascrivere un file del sistema operativo (come kernel32.dll).

Viene generato un SecurityException in caso di violazione della sicurezza a livello di CLR. Ad esempio se si esegue un'applicazione ClickOnce con accesso basso e si tenta di leggere/scrivere in un punto del file system proibito dalle impostazioni di sicurezza CLR nel processo.

+0

Quindi, se provassi a scrivere/creare un file su un'unità di rete che l'utente corrente non ha accesso in scrittura per poi lanciare Una eccezione non autorizzata? –

+0

Per favore aggiungi qualche altra descrizione o esempio per capire in che modo differiscono? –

+0

per favore aiutatemi con questo http://stackoverflow.com/questions/41570604/file-setattribute-method-not-throwing-unauthorizedaccessexception-when-read-only – YakRangi