GroupPolicyException.cs (1780B)
1 // ----------------------------------------------------------------------------- 2 // <copyright file="GroupPolicyException.cs" company="Microsoft Corporation"> 3 // Copyright (c) Microsoft Corporation. Licensed under the MIT License. 4 // </copyright> 5 // ----------------------------------------------------------------------------- 6 7 namespace Microsoft.WinGet.SharedLib.Exceptions 8 { 9 using System; 10 using Microsoft.WinGet.SharedLib.Extensions; 11 using Microsoft.WinGet.SharedLib.PolicySettings; 12 13 /// <summary> 14 /// Class that implements GroupPolicyException. 15 /// </summary> 16 [Serializable] 17 public class GroupPolicyException : Exception 18 { 19 /// <summary> 20 /// Initializes a new instance of the <see cref="GroupPolicyException"/> class. 21 /// </summary> 22 /// <param name="policy">Policy.</param> 23 /// <param name="policyFailureType">GroupPolicyFailureType.</param> 24 public GroupPolicyException(Policy policy, GroupPolicyFailureType policyFailureType) 25 : base(string.Format(policyFailureType.GetFailureString(), policy.GetResourceString())) 26 { 27 this.HResult = policyFailureType.GetErrorCode(); 28 } 29 30 /// <summary> 31 /// Initializes a new instance of the <see cref="GroupPolicyException"/> class. 32 /// </summary> 33 /// <param name="policyFailureType">GroupPolicyFailureType.</param> 34 /// <param name="innerException">InnerException.</param> 35 public GroupPolicyException(GroupPolicyFailureType policyFailureType, Exception innerException) 36 : base(policyFailureType.GetFailureString(), innerException) 37 { 38 this.HResult = policyFailureType.GetErrorCode(); 39 } 40 } 41 }