异常引发

当某一成员无法成功执行它应执行的操作时,将引发异常。这称为执行故障。例如,如果 Connect 方法无法连接到指定的远程终结点,则这就是一个执行故障,将有一个异常被引发。

下列准则可帮助确保在适当时引发异常。

不要返回错误代码。异常是报告框架中的错误的主要手段。

异常设计准则讨论了使用异常的许多好处。

通过引发异常来报告执行故障。如果某一成员无法按预期方式成功执行,则应将这种情况视为一个执行故障并引发一个异常。
如果代码遇到继续执行则不安全的情况,应考虑通过调用 System.Environment.FailFast(System.String)(.NET Framework 2.0 中的一种功能)来终止进程,而不是引发异常。
尽可能不对正常控制流使用异常。除了系统故障及可能导致争用状态的操作之外,框架设计人员还应设计一些 API 以便用户可以编写不引发异常的代码。例如,可以提供一种在调用成员之前检查前提条件的方法,以便用户可以编写不引发异常的代码。

下面的代码示例演示如何进行测试以防止在消息字符串为 null(在 Visual Basic 中为 Nothing)时引发异常。

   1: public class Doer
   2: {
   3:     // Method that can potential throw exceptions often.
   4:     public static void ProcessMessage(string message)
   5:     {
   6:         if (message == null)
   7:         {
   8:             throw new ArgumentNullException("message");
   9:         }
  10:     }
  11:     // Other methods...
  12: }
  13:  
  14: public class Tester
  15: {
  16:     public static void TesterDoer(ICollection<string> messages)
  17:     {
  18:         foreach (string message in messages)
  19:         {
  20:             // Test to ensure that the call 
  21:             // won't cause the exception.
  22:             if (message != null)
  23:             {
  24:                 Doer.ProcessMessage(message);
  25:             }
  26:         }
  27:     }
  28: }
  29:  

转载于:https://www.cnblogs.com/GnagWang/archive/2010/04/01/1701876.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值