Esempio n. 1
0
        internal static QueryParseException Create(ITree parserNode,
                                                   string message,
                                                   string parsedString,
                                                   Exception innerException,
                                                   QueryParseErrorReason? errorReason = null,
                                                   string memberName = null)
        {
            if (parserNode != null && parsedString != null)
            {
                var sb = new StringBuilder();
                sb.AppendLine(message);
                var commonErrorNode = parserNode as CommonErrorNode;
                var line = parserNode.Line;
                var charPositionInLine = parserNode.CharPositionInLine;
                if (commonErrorNode != null)
                {
                    line = commonErrorNode.trappedException.Line;
                    charPositionInLine = commonErrorNode.trappedException.CharPositionInLine;
                    sb.AppendFormat("({0})\r\n", commonErrorNode.trappedException.Message);
                }

                sb.AppendFormat("Error on line {0} character {1} of query:\r\n",
                                line,
                                charPositionInLine);
                sb.Append(' ', charPositionInLine);
                sb.AppendLine("|/");
                sb.AppendLine(GetLineOfString(parsedString, line));
                message = sb.ToString();
            }

            return new QueryParseException(message,
                                           innerException,
                                           errorReason ?? QueryParseErrorReason.GenericError,
                                           memberName);
        }
Esempio n. 2
0
 internal QueryParseException(string message,
                              Exception innerException,
                              QueryParseErrorReason errorReason,
                              string memberName)
     : base(message, innerException, HttpStatusCode.BadRequest)
 {
     ErrorReason = errorReason;
     MemberName  = memberName;
 }
Esempio n. 3
0
 internal QueryParseException(string message,
     Exception innerException,
     QueryParseErrorReason errorReason,
     string memberName)
     : base(message, innerException, HttpStatusCode.BadRequest)
 {
     this.errorReason = errorReason;
     this.memberName = memberName;
 }