C# 自定义异常

记得很久以前在书上看过,不过这种细节大概也没多少人会注意

一般来说,自定义异常类已经用的不多

至於该怎麽自定义好呢?我想讨论的更少。

不过如连结所指向的文章 MSDN 自定义异常类(中文) 写的不错值得参考

原文是出自於 Addison-Wesley 公司的书「Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries」

现在被节录到 msdn 上了,不妨参考一下。

节录重点如下:(范例还请参考上面的连结)

  • 避免使用深的异常层次结构。
  • 一定要从 System.Exception 或其他常见基本异常之一派生异常。
  • (请注意,捕捉和引发标准异常类型 具有一个指南,指出不应从 ApplicationException 派生自定义异常。)
  • 异常类名称一定要以后缀 Exception 结尾。
  • 应使异常可序列化。 异常必须可序列化才能跨越应用程序域和远程处理边界正确工作。
  • 一定要在所有异常上都提供(至少是这样)下列常见构造函数。
  • 一定要只在要求适合的权限后,才通过 System.Object.ToString 的重写报告安全敏感信息。如果权限要求失败,则返回一个不包括安全敏感信息的字符串。
  • 一定要以私有异常状态存储有用的安全敏感信息。 请确保只有受信任的代码才能获取该信息。
  • 考虑提供异常属性,以便可以以编程方式访问除消息字符串之外与异常相关的额外信息。

参考:http://msdn.microsoft.com/zh-cn/library/ms229064(v=vs.100).aspx

我们自已在公司内部,做了个 code snippet (yf_custom_exception)

可以快速产生依照建议的自定义类,觉得很不错。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值