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); }
internal QueryParseException(string message, Exception innerException, QueryParseErrorReason errorReason, string memberName) : base(message, innerException, HttpStatusCode.BadRequest) { ErrorReason = errorReason; MemberName = memberName; }
internal QueryParseException(string message, Exception innerException, QueryParseErrorReason errorReason, string memberName) : base(message, innerException, HttpStatusCode.BadRequest) { this.errorReason = errorReason; this.memberName = memberName; }