nbz*_*nbz 5 c# programming-languages exception-handling c#-4.0
我的异常处理技能是非常主要的,我总是对我应该使用它们的方式感到困惑,而不是如何/语法.我目前正在使用C#(如果有不同的东西适用于它).
我的问题是在开发应用程序时创建自己的Exception类有什么好处?与抛出标准异常类异常相比.基本上,您的应用程序中的异常是一种健康的做法.
或者如果没有好处,那么缺点?
通过创建自己的异常,您通常可以为最终用户创建更有意义的消息(或更多特定于应用程序的消息类型),同时仍然包装原始消息,以免丢失任何有用的信息.
比尔·瓦格纳(Bill Wagner)有一本很好的书,它涵盖了一些关于何时应该或不应该创建自己的例外的推理,以及一般的异常处理的一些好的做法.这是一个小摘录:
您的应用程序将抛出异常 - 希望不会经常发生,但它会发生.如果您没有执行任何特定操作,那么只要您在核心框架上调用的方法出现问题,您的应用程序就会生成默认的.NET Framework异常.提供更详细的信息将使您和您的用户能够诊断并可能纠正现场错误.您可以在可能的不同纠正操作时创建不同的异常类,并且仅在可能的不同操作时创建.您可以通过提供基本异常类支持的所有构造函数来创建功能完备的异常类.您使用InnerException属性来携带由较低级别错误条件生成的所有错误信息.
有时,您希望针对不同类型的错误执行不同的操作,例如,如果用户输入错误数据,那么使整个应用程序崩溃并向管理员发送电子邮件是没有意义的。对于更严重的异常(例如堆栈溢出),这样做是有意义的。然后,您可以根据错误类型实施不同的捕获。
| 归档时间: |
|
| 查看次数: |
1802 次 |
| 最近记录: |