所以,我遇到了一个小问题。我很好奇是否有人愿意为这个设计提供一些额外的意见。
我有一个 ILog 接口,它为设计的错误代码日志记录部分公开了两种方法。FlagError 和 GetErrorCode;FlagError 在一个整数上设置一个位,每个位表示引发了某个错误。GetErrorCode(这将是 Main 方法的返回值)返回该整数。
我最初推测在enum
每个应用程序中使用一个包含可能的错误代码列表。
但问题是,我将如何准确地向用户传达错误代码“XYZ”表示应用程序在执行期间以友好的方式遇到了这些非正常状态?
ILog 接口:(写入方法有重载)
interface ILog
{
void FlagError (int errorCode);
int GetErrorCode ();
#region Other ILog Methods
void WriteError(string message);
void WriteWarning(string message);
void WriteInfo(string message);
void WriteDebug(string message);
#endregion
}
日志类:
abstract class Log : ILog
{
public void
FlagError (int errorCode)
{
if (errorCode == 0 || errorCode == int.MinValue || errorCode != (errorCode & -errorCode))
{
throw new IndexOutOfRangeException ();
}
if ((m_errorCode & errorCode) == errorCode)
return;
m_errorCode += errorCode;
}
public int
GetErrorCode ()
{
return m_errorCode;
}
#region Other ILog Methods
}
我推测在每个枚举值上使用一个带有该错误描述的属性,然后只需要一个小过程或其他东西来帮助将错误代码“解析”为人类可读的描述。
但是Idk,有什么想法吗?