| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- //
- // XmlException.cs
- //
- // Author:
- // Jason Diamond ([email protected])
- //
- // (C) 2002 Jason Diamond http://injektilo.org/
- //
- using System;
- using System.Runtime.Serialization;
- namespace System.Xml
- {
- [Serializable]
- public class XmlException : SystemException
- {
- #region Fields
- int lineNumber;
- int linePosition;
- #endregion
- #region Constructors
- public XmlException (string message, Exception innerException)
- : base (message, innerException)
- {
- }
- protected XmlException (SerializationInfo info, StreamingContext context)
- : base (info, context)
- {
- this.lineNumber = info.GetInt32 ("lineNumber");
- this.linePosition = info.GetInt32 ("linePosition");
- }
- internal XmlException (string message)
- : base (message)
- {
- }
- internal XmlException (IXmlLineInfo li, string message) : base (message)
- {
- if (li != null) {
- this.lineNumber = li.LineNumber;
- this.linePosition = li.LinePosition;
- }
- }
-
- internal XmlException (string message, int lineNumber, int linePosition) : base (message)
- {
- this.lineNumber = lineNumber;
- this.linePosition = linePosition;
- }
- #endregion
- #region Properties
- public int LineNumber {
- get { return lineNumber; }
- }
- public int LinePosition {
- get { return linePosition; }
- }
- public override string Message {
- get {
- if (lineNumber == 0)
- return base.Message;
- return String.Format ("{0} Line {1}, position {2}.",
- base.Message, lineNumber, linePosition);
- }
- }
- #endregion
- #region Methods
- public override void GetObjectData (SerializationInfo info, StreamingContext context)
- {
- base.GetObjectData (info, context);
- info.AddValue ("lineNumber", lineNumber);
- info.AddValue ("linePosition", linePosition);
- }
- #endregion
- }
- }
|