zoukankan      html  css  js  c++  java
  • .net 异常系统实现(一 描述)

    EAS系统异常子系统(问题描述)

    一、     使用异常系统的目的:

    1、              将错误信息隐藏,防止代码层次的错误描述暴露给用户。

    2、              增强系统健壮性,防止出现局部错误引起模块、系统崩溃。

    3、              便于部署后的调试,记录异常信息到文件、数据库,定时回馈或集中处理。

    二、     常见异常:

    1、 编程时粗心考虑不周,测试时不完全。

    2、 函数调用顺序以及调用方式引起的对象引用为空。

    3、 资源无效,如数据库连接异常、文件不存在。

    4、 调用C#系统函数,第三方代码产生的异常。

    5、 系统异常(C#定义的运行时异常)。

    三、          解决异常的方式:

    1、 进行单元测试,查找遗漏捕获异常的位置。

    2、 代码层次使用Try ParseTestDo方式尽量减少异常。

    3、 对系统异常,C#类库异常进行封装处理,使用自己的异常系统。

    4、 底层函数,只要涉及资源使用,评估产生异常的方式,对异常进行详细描述。

    四、     EAS系统中的异常处理现状

    1、 Client层异常处理基本实现(分散,不统一),大多与验证相关,Common层出现的问题在此层捕获,大多使用通用捕获显示捕获的信息,具体异常类型不清楚。

    2、 Common层基本未使用异常处理,捕获异常的位置混乱。有在底层代码捕获的异常,有在中间调用过程中捕获的异常,有层层嵌套异常现象,对异常处理不统一。

    3、 对异常的记录不完善。记录方式值得讨论。

    4、 安全控制引发的异常。

    5、 异常记录更日志系统界定范围不清晰,重合的地方如何处理。

    6、 对异常信息的保护。

    五、     EAS系统中异常处理系统框架:

    1、 描述:

    1)对模块进行编码,便于分类处理异常。

    2)对模块三层类中各类进行编码,类中函数进行编码。

    3DAO(数据访问对象)对数据库查询进行异常捕获、封装、添加模块信息。

    4)控制类对象详细捕获异常,封装系统、C#类库、其他类异常。

    5)边界类(窗体对象),捕获控制类函数封装好的异常,选择以友好的方式,显示异常(只显示不可忽视的异常)。

    6)部分异常需要回滚或重新执行。

           2、异常系统结构

                  1)域模型:

          

                 

         2)异常捕获处理过程:

                  3)与日志系统的衔接。

    六、     异常处理系统带来的问题:

    1、 模块、类、函数编码体系庞大,需要文档支持(是否实现讨论)

    2、 代码添加影响面广,对函数粒度是否应该捕获异常,需进一步细化。

    3、 日志系统需要同时进行。

    4、 Client层的提示信息,各模块各窗口要细化,统一。

    5、 具体实现,要在时间、效率、性能各方面权衡。

    七、     总结

    EAS异常处理系统在真正部署前必须实现,用以解决程序稳定性、可调试性等问题。解决方案已经初步形成,在项目组讨论后继续深化,并在实现代码的过程中进一步更正。

  • 相关阅读:
    知识要点
    SQL语法(包括建库、建表、建视图、查询、增加、删除、修改)
    SQL语句(建库、建表、修改语句)
    比较好的电影网站
    crud创建,修改,删除,查询
    代码创建与操作数据库
    数据库
    数组与集合
    结构体
    类的运用
  • 原文地址:https://www.cnblogs.com/zaohe/p/1654051.html
Copyright © 2011-2022 走看看