/// <summary> /// Creates an instance of WrappedExceptionData saturating it from base64-encoded BSON data. /// This method complements .ToBase64() /// </summary> public static WrappedExceptionData FromBase64(string base64) { var bin = Convert.FromBase64String(base64); var doc = BSONDocument.FromArray(bin); var ser = new BSONSerializer(); var result = new WrappedExceptionData(); object ctx = null; result.DeserializeFromBSON(ser, doc, ref ctx); return(result); }
public void DeserializeFromBSON(BSONSerializer serializer, BSONDocument doc, ref object context) { var iv = doc["wrp"] as BSONDocumentElement; if (iv == null) { return; } m_Wrapped = new WrappedExceptionData(); serializer.Deserialize(iv.Value, m_Wrapped); }
public void DeserializeFromBSON(BSONSerializer serializer, BSONDocument doc, ref object context) { m_TypeName = doc.TryGetObjectValueOf("tname").AsString(); m_Message = doc.TryGetObjectValueOf("msg").AsString(); m_Code = doc.TryGetObjectValueOf("code").AsInt(); m_ApplicationName = doc.TryGetObjectValueOf("app").AsString(); m_Source = doc.TryGetObjectValueOf("src").AsString(); m_StackTrace = doc.TryGetObjectValueOf("trace").AsString(); m_WrappedData = doc.TryGetObjectValueOf("wdata").AsString(); var iv = doc["inner"] as BSONDocumentElement; if (iv == null) { return; } m_InnerException = new WrappedExceptionData(); serializer.Deserialize(iv.Value, m_InnerException); }
/// <summary> /// Initializes instance form local exception /// </summary> public WrappedExceptionData(Exception error, bool captureStack = true) { var tp = error.GetType(); m_TypeName = tp.FullName; m_Message = error.Message; if (error is NFXException) { m_Code = ((NFXException)error).Code; } m_ApplicationName = ExecutionContext.Application.Name; m_Source = error.Source; if (captureStack) { m_StackTrace = error.StackTrace; } if (error.InnerException != null) { m_InnerException = new WrappedExceptionData(error.InnerException); } }
/// <summary> /// Initializes instance form local exception /// </summary> public WrappedExceptionData(Exception error, bool captureStack = true) { if (error == null) { throw new NFXException(StringConsts.ARGUMENT_ERROR + "WrappedExceptionData.ctor(error=null)"); } var tp = error.GetType(); m_TypeName = tp.FullName; m_Message = error.Message; if (error is NFXException) { m_Code = ((NFXException)error).Code; } m_ApplicationName = ExecutionContext.Application.Name; m_Source = error.Source; if (captureStack) { m_StackTrace = error.StackTrace; } if (error.InnerException != null) { m_InnerException = new WrappedExceptionData(error.InnerException); } var source = error as IWrappedExceptionDataSource; if (source != null) { m_WrappedData = source.GetWrappedData(); } }
public WrappedException(string message, WrappedExceptionData data, Exception inner) : base(message, inner) { m_Wrapped = data; }
public WrappedException(string message, WrappedExceptionData data) : base(message) { m_Wrapped = data; }
public WrappedException(WrappedExceptionData data) : base(data.ToString()) { m_Wrapped = data; }
public WrappedException(WrappedExceptionData data) : base(data.Message) { m_Wrapped = data; }