我认为这是每个人都应该自己弄清楚的事情。
一个喜欢向用户显示好消息,另一个只是抛出那些默认生成的消息。
我个人喜欢有错误代码。
像这样的东西:
我创建了一个名为 ExceptionFactory 的静态类,并将代码传递给名为 RaiseException 的方法。
public static class ExceptionRegions
{
public static int Internet = 0xA;
public static int FileSystem = 0xB;
}
public class InternetConnectionException : Exception
{
public InternetConnectionException () : base("No internet connection available") { }
}
public class FileSystemAccessException : Exception
{
public FileSystemAccessException () : base("Access to specified path caused an error") { }
}
public static class ExceptionFactory
{
public static void RaiseException(int code)
{
switch(code)
{
case ExceptionRegions.Internet : throw new InternetConnectionException();
...
...
}
}
}
顺便说一句,这是一种众所周知的模式,称为工厂模式。:)
为什么我喜欢这个,因为它允许我在我的应用程序中设置区域。通常一个应用程序有许多接口,如文件系统、Web 服务或数据库,我需要做的就是为每个区域创建一个代码,工厂会向用户抛出一个很好的消息,而不会暴露数据库的用户名和编号代码行或任何默认生成的错误消息看起来相似。