/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

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