Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        /// <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);
            }
        }
Ejemplo n.º 5
0
        /// <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();
            }
        }
Ejemplo n.º 6
0
 public WrappedException(string message, WrappedExceptionData data, Exception inner)
     : base(message, inner)
 {
     m_Wrapped = data;
 }
Ejemplo n.º 7
0
 public WrappedException(string message, WrappedExceptionData data)
     : base(message)
 {
     m_Wrapped = data;
 }
Ejemplo n.º 8
0
 public WrappedException(WrappedExceptionData data) : base(data.ToString())
 {
     m_Wrapped = data;
 }
Ejemplo n.º 9
0
 public WrappedException(WrappedExceptionData data) : base(data.Message)
 {
     m_Wrapped = data;
 }