protected virtual object GetFieldValueFromString(FieldSettingsBase <T> fieldSettings, string memberValue) { if (fieldSettings.IsNullable && (string.IsNullOrEmpty(memberValue) || memberValue.Equals(fieldSettings.NullValue))) { return(null); } memberValue = fieldSettings.PadLeft ? memberValue.TrimStart(new char[] { fieldSettings.PaddingChar }) : memberValue.TrimEnd(new char[] { fieldSettings.PaddingChar }); try { return(fieldSettings.FieldValueConverter.FromString(memberValue, fieldSettings.FormatProvider)); } catch (Exception ex) { var errorInfo = new ParserErrorInfo { ErrorMessage = ex.Message, FieldName = fieldSettings.PropertyInfo.Name, FieldValue = memberValue, FieldType = fieldSettings.PropertyInfo.PropertyType }; throw new ParserErrorException(errorInfo, ex); } }
private static bool DefaultOnReadError(ParserErrorInfo errorInfo, Exception exception) { return(false); }
private static string BuildErrorMessage(ParserErrorInfo parserErrorInfo) { return($"Error Parsing field {parserErrorInfo.FieldName}: {parserErrorInfo.ErrorMessage}"); }
public ParserErrorException(ParserErrorInfo parserErrorInfo) : base(BuildErrorMessage(parserErrorInfo)) { ParserErrorInfo = parserErrorInfo; }
public ParserErrorException(ParserErrorInfo parserErrorInfo, Exception innerException) : base(BuildErrorMessage(parserErrorInfo), innerException) { ParserErrorInfo = parserErrorInfo; }