zoukankan      html  css  js  c++  java
  • 程序的异常处理

    二.什么时候处理异常
    仅当以下一种或多种情况时,我们的代码才需要抓住异常
    1.       记录异常(logging)
    将异常记录到日志中,便于support人员查找错误原因。
    2.       为这个异常添加相关信息(wrap exception)
    加发生异常的环境信息记录,并产生新异常,交给调用本方法的代码负责处理。
    3.       执行清理工作
    比如关闭数据库连接,Dispose对象,Rollback,Compensate操作等。
    4.       尝试从异常中恢复
    比如程序可以取一个默认值让程序继续进行(上次举过实时显示设备温度的程序的例子,当程序请求设备,但设备有时会因为响应
    超时导致程序异常,这是程序可以捕捉这个异常,以上次取得的温度结果显示给用户)
    常见的例子还有数据库连接突然断掉,或者插入数据时主键冲突(有可能是输入错误,也有可能同一条数据被别的用户先插入到数据库了)。
    5.       隐藏异常敏感信息,替换成友好信息给用户。
    四.处理异常的指导意见:
    1.       除非是第二点处提到的时候,其他时候不要处理异常
    2.       在程序里的边界处处理异常(比如逻辑层的最上面一层,调用的服务处,UI等),并且屏蔽掉敏感信息,只保留对当前层次安全的信息。
    3.       通过自定义异常的名字来表达异常类型,应该怎么处理,是否能恢复。
     
    摘自http://www.cnblogs.com/xd125/archive/2011/07/08/2100973.html
  • 相关阅读:
    C++矢量图形库系列(转)
    ArcGIS Server 地图发布请求分析
    Git在提交代码时出现的fatal: Authentication failed的问题
    创建WPF项目
    Linux查看日志常用命令(转载)
    CentOS6 + MapServer7.4编译
    升级GCC
    QT+OpenGL(03)--libpng库的编译
    QT+OpenGL(02)-- zlib库的编译
    QT+OpenGL(01)--实现三角形渲染
  • 原文地址:https://www.cnblogs.com/cc299/p/7595744.html
Copyright © 2011-2022 走看看