PageRenderTime 26ms CodeModel.GetById 14ms app.highlight 7ms RepoModel.GetById 1ms app.codeStats 0ms

/Docs/07-Implementacion/Source/trunk/EDUAR_Regular/EDUAR/EDUAR_Utility/Excepciones/GenericException.cs

http://blpm.googlecode.com/
C# | 77 lines | 38 code | 10 blank | 29 comment | 2 complexity | 2aae9f32f2c1540fbc805ad9fd5bc2b9 MD5 | raw file
 1using System;
 2using System.Runtime.Serialization;
 3using System.ServiceModel;
 4using EDUAR_Utility.Enumeraciones;
 5
 6namespace EDUAR_Utility.Excepciones
 7{
 8    [Serializable]
 9    public class GenericException : Exception
10    {
11        /// <summary>
12        /// Propiedad utilizada para mostrar un mensaje personalizado en el throw de la GenericException 
13        /// (Incluido en el detail del GenericException)
14        /// </summary>
15        [DataMember]
16        public string Informacion { get; set; }
17
18        /// <summary>
19        /// Source interno de la Excepcion generada
20        /// (Incluido en el detail del GenericException)
21        /// </summary>
22        [DataMember]
23        public string Origen { get; set; }
24
25        /// <summary>
26        /// Message interno de la Excepcion generada
27        /// (Incluido en el detail del GenericException)
28        /// </summary>
29        [DataMember]
30        public string Mensaje { get; set; }
31
32        /// <summary>
33        /// StackTrace interno de la Excepcion generada
34        /// (Incluido en el detail del GenericException)
35        /// </summary>
36        [DataMember]
37        public string Trace { get; set; }
38
39
40        [DataMember]
41        public enuExceptionType ExceptionType { get; set; }
42
43        //[DataMember]
44        //public Exception InnerExe { get; set; }
45
46        #region Constructor Privado
47        /// <summary>
48        /// Constructor que carga la data de la Excepcion.
49        /// </summary>
50        /// <param name="exceptionType"></param>
51        /// <param name="e"></param>
52        private GenericException(enuExceptionType exceptionType, Exception e)
53        {
54            Mensaje = e.Message;
55            Origen = e.Source;
56            Trace = e.StackTrace;
57            ExceptionType = exceptionType;
58
59            if (e.InnerException != null)
60                Informacion = e.InnerException.Message;
61        }
62        #endregion
63
64        /// <summary>
65        /// Metodo que lanzara la exepcion 
66        /// </summary>
67        /// <param name="razon"></param>
68        /// <param name="exceptionType"></param>
69        /// <param name="e"></param>
70        public static void throwGenericException(string razon, enuExceptionType exceptionType, Exception e)
71        {
72            GenericException ex = new GenericException(exceptionType,e);
73            FaultException<GenericException> objEx = new FaultException<GenericException>(ex, razon);
74            throw objEx;
75        }
76    }
77}