• 异常引发


    当某一成员无法成功执行它应执行的操作时,将引发异常。这称为执行故障。例如,如果 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:  
     


    作者:GangWang
    出处:http://www.cnblogs.com/GnagWang/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     
  • 相关阅读:
    使用MulticastSocket实现多点广播(实现多人聊天室)
    双目相机标定以及立体测距原理及OpenCV实现
    opencv5-objdetect之级联分类器
    OpenCV人脸识别--detectMultiScale函数
    简单eclipse配置opencv的方法
    Struts2之Action的配置
    Struts2入门
    用户管理系统网站框架改进之MVC模式
    Tomcat中设置数据源和连接池
    JSP第一个实例之用户管理系统
  • 原文地址:https://www.cnblogs.com/GnagWang/p/1701876.html
Copyright © 2020-2023  润新知