XmlSchemaException.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. // Author: Dwivedi, Ajay kumar
  2. // [email protected]
  3. using System;
  4. using System.Runtime.Serialization;
  5. namespace System.Xml.Schema
  6. {
  7. /// <summary>
  8. /// Summary description for XmlSchemaException.
  9. /// </summary>
  10. [Serializable]
  11. public class XmlSchemaException : System.SystemException
  12. {
  13. //fields
  14. private int lineNumber;
  15. private int linePosition;
  16. private XmlSchemaObject sourceObj;
  17. private string sourceUri;
  18. protected XmlSchemaException(SerializationInfo info, StreamingContext context)
  19. : base (info, context)
  20. {
  21. this.lineNumber = info.GetInt32 ("lineNumber");
  22. this.linePosition = info.GetInt32 ("linePosition");
  23. this.sourceUri = info.GetString ("sourceUri");
  24. this.sourceObj = info.GetValue ("sourceObj", typeof (XmlSchemaObject)) as XmlSchemaObject;
  25. }
  26. internal XmlSchemaException(string message, int lineNumber, int linePosition,
  27. XmlSchemaObject sourceObject, string sourceUri, Exception innerException)
  28. : base(message, innerException)
  29. {
  30. this.lineNumber = lineNumber;
  31. this.linePosition = linePosition;
  32. this.sourceObj = sourceObject;
  33. this.sourceUri = sourceUri;
  34. }
  35. internal XmlSchemaException(string message, XmlSchemaObject sourceObject,
  36. Exception innerException)
  37. : base(message, innerException)
  38. {
  39. this.lineNumber = sourceObject.LineNumber;
  40. this.linePosition = sourceObject.LinePosition;
  41. this.sourceObj = sourceObject;
  42. this.sourceUri = sourceObject.SourceUri;
  43. }
  44. public XmlSchemaException(string message, Exception innerException)
  45. : base(message,innerException){}
  46. // Properties
  47. public int LineNumber
  48. {
  49. get{ return this.lineNumber;}
  50. }
  51. public int LinePosition
  52. {
  53. get{ return this.linePosition;}
  54. }
  55. public XmlSchemaObject SourceSchemaObject
  56. {
  57. get{ return this.sourceObj; }
  58. }
  59. public string SourceUri
  60. {
  61. get{ return this.sourceUri; }
  62. }
  63. public override string Message
  64. {
  65. get {
  66. string msg = base.Message;
  67. if (sourceUri != null)
  68. msg = String.Format ("XmlSchema error: {0}\n" +
  69. "URI: {1}, line {2}, position {3}",
  70. msg, sourceUri, lineNumber, linePosition);
  71. return msg;
  72. }
  73. }
  74. // Methods
  75. public override void GetObjectData(SerializationInfo info, StreamingContext context)
  76. {
  77. base.GetObjectData (info, context);
  78. info.AddValue ("lineNumber", lineNumber);
  79. info.AddValue ("linePosition", linePosition);
  80. info.AddValue ("sourceUri", sourceUri);
  81. info.AddValue ("sourceObj", sourceObj);
  82. }
  83. }
  84. }