20

FileStream的MSDN構造函數說它可能會引發UnauthorizedAccessException或SecurityException。以下是MSDN關於這些例外的說法。UnauthorizedAccessException vs SecurityException

UnauthorizedAccessException: 當操作系統由於I/O錯誤或特定類型的安全錯誤而拒絕訪問時引發的異常。

SecurityException: 檢測到安全錯誤時引發的異常。

這兩個相似的異常是如何不同的?什麼情況會觸發他們中的任何一個?

+0

+1熱門安全話題 – 2010-02-26 03:42:46

+0

請勿使用'dotnet'作爲標籤! – 2010-03-01 20:03:24

+0

PLZ幫助我http://stackoverflow.com/questions/41570604/file-setattribute-method-not-throwing-unauthorizedaccessexception-when-read-only – YakRangi 2017-01-10 14:13:35

回答

11

A UnauthorizedAccessException當存在訪問磁盤上的文件的權限錯誤時引發。這是操作系統級別的錯誤,例如試圖覆蓋操作系統文件的正常用戶(如kernel32.dll)。

如果在CLR級別存在安全違規,則會拋出SecurityException。例如,如果您作爲低訪問權限的ClickOnce應用程序運行,並嘗試讀取/寫入到文件系統中由CLR安全設置禁止的位置。

+0

因此,如果我試圖寫/創建一個文件的網絡驅動器當前用戶沒有寫訪問權限,那麼它會拋出一個UnauthorizedAccessException? – 2010-02-26 03:32:22

+0

請添加更多描述或示例以瞭解它們實際上有何不同? – 2014-03-10 04:41:33

+0

請幫助我這個http://stackoverflow.com/questions/41570604/file-setattribute-method-not-throwing-unauthorizedaccessexception-when-read-only – YakRangi 2017-01-10 14:14:11