private static string GetMessage(Exception e) { string message = null; if (e as COMException != null) { message = ManagementException.GetMessage((ManagementStatus)((COMException)e).ErrorCode); } if (message == null) { message = e.Message; } return(message); }
internal static void ThrowWithExtendedInfo(Exception e) { ManagementBaseObject managementBaseObject = null; IWbemClassObjectFreeThreaded errorInfo = WbemErrorInfo.GetErrorInfo(); if (errorInfo != null) { managementBaseObject = new ManagementBaseObject(errorInfo); } string message = ManagementException.GetMessage(e); string item = message; if (message == null && managementBaseObject != null) { try { item = (string)managementBaseObject["Description"]; } catch { } } throw new ManagementException(e, item, managementBaseObject); }