using System; using System.Runtime.Serialization; namespace DPumpHydr.WinFrmUI.WenSkin.Json { /// /// The exception thrown when an error occurs while reading JSON text. /// [Serializable] public class JsonWriterException : JsonException { /// /// Gets the path to the JSON where the error occurred. /// /// The path to the JSON where the error occurred. public string Path { get; private set; } /// /// Initializes a new instance of the class. /// public JsonWriterException() { } /// /// Initializes a new instance of the class /// with a specified error message. /// /// The error message that explains the reason for the exception. public JsonWriterException(string message) : base(message) { } /// /// Initializes a new instance of the class /// with a specified error message and a reference to the inner exception that is the cause of this exception. /// /// The error message that explains the reason for the exception. /// The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. public JsonWriterException(string message, Exception innerException) : base(message, innerException) { } /// /// Initializes a new instance of the class. /// /// The that holds the serialized object data about the exception being thrown. /// The that contains contextual information about the source or destination. /// The parameter is null. /// The class name is null or is zero (0). public JsonWriterException(SerializationInfo info, StreamingContext context) : base(info, context) { } internal JsonWriterException(string message, Exception innerException, string path) : base(message, innerException) { Path = path; } internal static JsonWriterException Create(JsonWriter writer, string message, Exception ex) { return Create(writer.ContainerPath, message, ex); } internal static JsonWriterException Create(string path, string message, Exception ex) { message = JsonPosition.FormatMessage(null, path, message); return new JsonWriterException(message, ex, path); } } }