我正在使用FileHelper来解析 CSV 文件。解析文件时遇到的错误消息会显示给最终用户。最终用户可能无法理解技术错误消息。没有太多的职员知道 anInt32
是什么或Class: UploadFooDto
.
我想自定义错误消息,使它们更加用户友好。就像是:
- 第 1 行。第 2 列。输入了字符串 (a) 而不是数字
- 第 2 行。第 3 列。“13-14-15”不是有效日期
我在 API 中找不到任何可以自定义错误消息的内容。到目前为止,我拥有的最多的是一些清理错误的扩展方法:
public static class FileHelperExceptionExtensions
{
public static string BuildMessage(this ErrorInfo error)
{
if (error.ExceptionInfo is ConvertException)
{
return ((ConvertException)error.ExceptionInfo).BuildMessage();
}
if (error.ExceptionInfo is BadUsageException)
{
var message = error.ExceptionInfo.Message;
var readTo = message.IndexOf("Class:");
return message.Substring(0, readTo);
}
return string.Format("Line: {0}. An unspecific error occured.", error.LineNumber);
}
public static string BuildMessage(this ConvertException exception)
{
return string.Format("Line: {0}. Column: {1}. Field: {2}. Cannot convert '{3}' to type: '{4}'", exception.LineNumber, exception.ColumnNumber, exception.FieldName, exception.FieldStringValue, exception.FieldType.Name);
}
}
但是这些扩展仍然有很多不足之处。是否可以自定义错误消息?