- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
实现自定义异常的优缺点如下:
创建一个在其描述中表示错误消息的枚举:
public class Enums
{
public enum Errors
{
[Description("This is a test exception")]
TestError,
...
}
}
创建自定义异常类:
public class CustomException : ApplicationException
{
protected Enums.Errors _customError;
public CustomException(Enums.Errors customError)
{
this._customError = customError;
}
public override string Message
{
get
{
return this._customError!= Enums.Errors.Base ? this.customError.GetDescription() : base.Message;
}
}
}
GetDescription
方法是一种枚举扩展方法,它使用反射获取枚举描述。这样,我可以抛出异常:
throw new customException(enums.Errors.TestError);
并在 catch block 中将其显示给用户,例如:
Console.WriteLn(ex.Message);
我见过 MVP 推荐的这种方法。这种方法比以下方法有什么好处:
WebServiceException
类、AuthenticationException
类等)Here's the link MVP 的推荐。
谢谢。
最佳答案
就我个人而言,我认为这不是一个好主意。
您应该始终抛出尽可能具体的异常。捕捉也是如此。
很容易决定我们是否要捕获 WebServiceException
或 AuthenticationException
,但是对于您的 Enum-example,我们必须解析一个字符串来决定是否要捕获与否。如果此消息发生变化会怎样?
我不认为它有任何好处。对于每种错误类型,您都必须创建一个新的 Enum 成员。为什么不创建一个新类呢?
关于c# - 实现通用自定义异常的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6310241/
ODBC是一种连接数据库的开放标准。 ODBC(OpenDataBase Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows OpenServices Ar
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
在我最近的 javascript 程序中(主要是为了好玩和概念验证)我有很多不同种类的对象,并且每种类型我都有相当数量的“实例”。所以我想我应该为这些使用类,但是由于它们非常简单,我可以直接构造它们而
我想知道图标(Material Design 图标)使用可绘制矢量形状(XML 文件)与图像资源(png 文件)的优缺点是什么? 最佳答案 正如我所见,这个问题是指光栅(例如 jpeg、png)和矢量
优点和缺点是什么使用 Plain Old Data (POD)structs\classes in C++ ? 在什么情况下应该更喜欢使用他们在非 POD 上? 具体来说,POD 在工作时有优势吗与序
我听说 Ctypes 会导致 Python 和 Windows 崩溃(或停止错误)。我应该远离他们的使用吗?我从哪里听到的?当我试图控制窗口的各个方面、自动化之类的东西时,它又回来了。 我听说过 sw
您能否解释一下在 iPhone 上存储数据的不同方式,以及每种方式的优缺点。 我已经阅读了很多关于 UserDefaults、CoreData、XML、plist 的内容……但我有点不知所措。 目前,
但对于关闭PING值后,网站能否被百度和GOOGLE等搜索引擎收录,很多人说法不一,有些说对收录没任何影响,也有人说影响不大,其实会不会影响,我也不是很清楚,我只能从我遇到情况的来分析一下。 7月
我正在寻找一个制作平台。我读过一些关于 gnu make 的文章,它在 Windows 平台上有一些问题(从斜杠/反斜杠到 shell 确定......)所以我想听听我有什么替代品? 如果重要的话,我
我是 Ubuntu Linux 用户,我仅将 Win XP 用于我的工作目的。 最近我用 XP + Visual Studio 2008(由 kvm-quemu 提供支持)设置了一个虚拟机。 我的问题
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 5 年前。 Improv
我对使用Grails Portlets plugin在Grails上开发 Liferay portlet的可能性感兴趣。我认为引入portlet框架(例如Spring Portlet API)将使开发
作为Photon的新手,有以下问题: 看起来 VMware 正在尝试创建与 Docker 并行的容器技术。由于现阶段docker比较成熟,使用photon有什么好处/优势吗? 我知道有人可以在内部使用
我只需要一些关于此布局的建议。我不是经验丰富的 CSS 用户,所以我遇到的唯一技术是将所有内容包装到一个 div 中,设置宽度和自动左/右边距。这种方法是面向 future 的吗? 在我开始之前我应该
我正在使用 jQuery Mobile 和 Phonegap 开发 HTML5 移动应用程序。它将部署在多个平台上。 我在下面有一个横幅 png: 我的问题是: 1)直接用这张图片做背景还是用CSS动
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
这个问题在这里已经有了答案: When is it necessary or convenient to use Spring or EJB3 or all of them together? (2
我最近听说了 JavaScript 对象表示法 (JSON),在查找之后,它似乎作为可扩展标记语言 (XML) 的替代品变得相当流行。 我继续 this页面以获取更多信息,但它似乎更像是一个 XML
这个问题在这里已经有了答案: 9年前关闭。 Possible Duplicate: EF 4.1 Code-first vs Model/Database-first 我刚刚开始学习 EF 4.0 C
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我是一名优秀的程序员,十分优秀!