/// <summary> /// 产生一个新的表达式识别异常 /// </summary> /// <param name="pe">错误原因</param> /// <param name="nPosition">出错位置</param> /// <param name="strParams">在错误信息中的参数</param> /// <returns>表达式识别异常对象</returns> static public ParsingException NewParsingException(Parse_Error pe, int nPosition, params string[] strParams) { try { ResourceManager rm = new ResourceManager("Lib.LightWorkflow.Tools", Assembly.GetExecutingAssembly()); string strID = pe.ToString(); string strText = rm.GetString(strID); strText = string.Format(strText, strParams); if (nPosition >= 0) { strText = string.Format(rm.GetString("position"), nPosition + 1) + ", " + strText; } return(new ParsingException(pe, nPosition, strText)); } catch { string msg = string.Empty; if (nPosition >= 0) { msg = string.Format("字符位置{0},", nPosition); } foreach (var item in strParams) { msg += "操作符:"; msg += item + ","; } throw new Exception(string.Format("产生一个表达式识别异常,{0}", msg.TrimEnd(','))); } }
/// <summary> /// 主动抛出表达式异常 /// </summary> /// <param name="pe"></param> /// <param name="nPosition"></param> /// <param name="strParams"></param> /// <returns></returns> static public ParsingException NewParsingException(Parse_Error pe, int nPosition, params string[] strParams) { ResourceManager rm = new ResourceManager("ExpParsing.Resource", Assembly.GetExecutingAssembly()); string strID = pe.ToString(); string strText = rm.GetString(strID); strText = string.Format(strText, strParams); if (nPosition >= 0) { strText = string.Format(rm.GetString("position"), nPosition + 1) + ", " + strText; } return new ParsingException(pe, nPosition, strText); }
/// <summary> /// 主动抛出表达式异常 /// </summary> /// <param name="pe"></param> /// <param name="nPosition"></param> /// <param name="strParams"></param> /// <returns></returns> static public ParsingException NewParsingException(Parse_Error pe, int nPosition, params string[] strParams) { ResourceManager rm = new ResourceManager("ExpParsing.Resource", Assembly.GetExecutingAssembly()); string strID = pe.ToString(); string strText = rm.GetString(strID); strText = string.Format(strText, strParams); if (nPosition >= 0) { strText = string.Format(rm.GetString("position"), nPosition + 1) + ", " + strText; } return(new ParsingException(pe, nPosition, strText)); }
/// <summary> /// 构造函数,根据错误类型、出错位置构造异常 /// </summary> /// <param name="pe"></param> /// <param name="nPosition"></param> /// <param name="strMsg"></param> public ParsingException(Parse_Error pe, int nPosition, string strMsg) : base(strMsg) { _Reason = pe; _Position = nPosition; }
/// <summary> /// 构造函数 /// </summary> /// <param name="pe"></param> /// <param name="nPosition"></param> /// <param name="strMsg"></param> public ParsingException(Parse_Error pe, int nPosition, string strMsg) : base(strMsg) { _Reason = pe; _Position = nPosition; }