using System;
|
using System.Runtime.Serialization;
|
using DynamicExpresso.Resources;
|
|
namespace DynamicExpresso.Exceptions
|
{
|
[Serializable]
|
public class ParseException : DynamicExpressoException
|
{
|
public ParseException(string message, int position)
|
: base(string.Format(ErrorMessages.Format, message, position))
|
{
|
Position = position;
|
}
|
|
public ParseException(string message, int position, Exception innerException)
|
: base(string.Format(ErrorMessages.Format, message, position), innerException)
|
{
|
Position = position;
|
}
|
|
public int Position { get; private set; }
|
|
public static ParseException Create(int pos, string format, params object[] args)
|
{
|
return new ParseException(string.Format(format, args), pos);
|
}
|
|
protected ParseException(
|
SerializationInfo info,
|
StreamingContext context)
|
: base(info, context)
|
{
|
Position = info.GetInt32("Position");
|
}
|
|
public override void GetObjectData(SerializationInfo info, StreamingContext context)
|
{
|
info.AddValue("Position", Position);
|
|
base.GetObjectData(info, context);
|
}
|
}
|
}
|