SecurityException 類別
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在偵測到安全性錯誤時發生的例外狀況。
public ref class SecurityException : Exception
public ref class SecurityException : SystemException
public class SecurityException : Exception
public class SecurityException : SystemException
[System.Serializable]
public class SecurityException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SecurityException : SystemException
type SecurityException = class
inherit Exception
type SecurityException = class
inherit SystemException
[<System.Serializable>]
type SecurityException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityException = class
inherit SystemException
Public Class SecurityException
Inherits Exception
Public Class SecurityException
Inherits SystemException
- 繼承
- 繼承
- 屬性
SecurityException當呼叫端沒有存取資源所需的許可權時,就會擲回例外狀況。 下列範例會具現化 PermissionSet 物件,其中包含 UIPermission 物件,以允許存取 UI 物件和剪貼簿,以及 RegistryPermission 防止登錄存取的物件。 方法的呼叫 PermissionSet.PermitOnly 表示不論指派給呼叫者的許可權為何,這些許可權都會套用。 因此,嘗試建立登錄機碼會擲回 SecurityException 。
using Microsoft.Win32;
using System;
using System.Security;
using System.Security.Permissions;
public class Example
{
public static void Main()
{
PermissionSet perms = new PermissionSet(null);
perms.AddPermission(new UIPermission(PermissionState.Unrestricted));
perms.AddPermission(new RegistryPermission(PermissionState.None));
perms.PermitOnly();
try {
RegistryKey key = Registry.CurrentUser.CreateSubKey("MyCompany\\Applications");
Console.WriteLine("Registry key: {0}", key.Name);
}
catch (SecurityException e) {
Console.WriteLine("Security Exception:\n\n{0}", e.Message);
}
}
}
// The example displays the following output:
// Security Exception:
//
// Request for the permission of type 'System.Security.Permissions.RegistryPermission,
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
Imports Microsoft.Win32
Imports System.Security
Imports System.Security.Permissions
Module Example
Public Sub Main()
Dim perms As New PermissionSet(CType(Nothing, PermissionSet))
perms.AddPermission(New UIPermission(PermissionState.Unrestricted))
perms.AddPermission(New RegistryPermission(PermissionState.None))
perms.PermitOnly()
Try
Dim key As RegistryKey = Registry.CurrentUser.CreateSubKey("MyCompany\\Applications")
Console.WriteLine("Registry key: {0}", key.Name)
Catch e As SecurityException
Console.WriteLine("Security Exception:\n\n{0}", e.Message)
End Try
End Sub
End Module
' The example displays the following output:
' Security Exception:
'
' Request for the permission of type 'System.Security.Permissions.RegistryPermission,
' mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
SecurityException 會使用 HRESULT COR_E_SECURITY,其值為 0x8013150A。
如需 類別實例 SecurityException 的初始屬性值清單,請參閱特定 SecurityException 建構函式。
Security |
使用預設屬性,初始化 SecurityException 類別的新執行個體。 |
Security |
使用序列化資料,初始化 SecurityException 類別的新執行個體。 |
Security |
使用指定的錯誤訊息,初始化 SecurityException 類別的新執行個體。 |
Security |
針對沒有足夠授權集所造成的例外狀況,初始化 SecurityException 類別的新執行個體。 |
Security |
使用指定的錯誤訊息以及造成此例外狀況的內部例外狀況的參考,初始化 SecurityException 類別的新執行個體。 |
Security |
針對此堆疊上 Deny 所造成例外狀況,初始化 SecurityException 類別的新執行個體。 |
Security |
使用指定的錯誤訊息以及造成例外狀況擲回的權限類型,初始化 SecurityException 類別的新執行個體。 |
Security |
使用指定的錯誤訊息、造成例外狀況擲回的權限類型以及權限狀態,初始化 SecurityException 類別的新執行個體。 |
Action |
取得或設定造成例外狀況的安全性動作。 |
Data |
取得鍵值組的集合,這些鍵值組會提供關於例外狀況的其他使用者定義資訊。 (繼承來源 Exception) |
Demanded |
取得或設定失敗之要求的安全性權限、權限集或權限集集合。 |
Deny |
取得或設定造成要求失敗之遭拒絕安全性權限、權限集或權限集集合。 |
Failed |
取得或設定失敗組件的相關資訊。 |
First |
取得或設定要求失敗之權限集合或權限集集合中的第一個權限。 |
Granted |
取得或設定造成 SecurityException 之組件的授與權限集合。 |
Help |
取得或設定與這個例外狀況相關聯的說明檔連結。 (繼承來源 Exception) |
HResult |
取得或設定 HRESULT,它是指派給特定例外狀況的編碼數值。 (繼承來源 Exception) |
Inner |
取得造成目前例外狀況的 Exception 執行個體。 (繼承來源 Exception) |
Message |
取得描述目前例外狀況的訊息。 (繼承來源 Exception) |
Method |
取得或設定與例外狀況關聯之方法的相關資訊。 |
Permission |
取得或設定擲回例外狀況的權限狀態。 |
Permission |
取得或設定失敗的權限類型。 |
Permit |
取得或設定權限、權限集或權限集的集合,其屬於造成安全性檢查失敗之僅限允許的堆疊框架。 |
Refused |
取得或設定造成 SecurityException 之組件的遭拒絕權限集合。 |
Source |
取得或設定造成錯誤的應用程式或物件的名稱。 (繼承來源 Exception) |
Stack |
取得呼叫堆疊上即時運算框架的字串表示。 (繼承來源 Exception) |
Target |
取得擲回目前例外狀況的方法。 (繼承來源 Exception) |
Url |
取得或設定造成例外狀況之組件的 URL。 |
Zone |
取得或設定造成例外狀況之組件的區域。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
Get |
在衍生類別中覆寫時,傳回一或多個後續的例外狀況的根本原因 Exception。 (繼承來源 Exception) |
Get |
做為預設雜湊函式。 (繼承來源 Object) |
Get |
使用 SecurityException 的相關資訊來設定 SerializationInfo。 |
Get |
在衍生類別中覆寫時,使用例外狀況的資訊設定 SerializationInfo。 (繼承來源 Exception) |
Get |
取得目前執行個體的執行階段類型。 (繼承來源 Exception) |
Memberwise |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
To |
傳回目前 SecurityException 的表示。 |
Serialize |
已過時。
當例外狀況序列化,以建立包含例外狀況相關序列化資料的例外狀況狀態物件時,就會發生此事件。 (繼承來源 Exception) |
產品 | 版本 |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1 |
UWP | 10.0 |