zoukankan      html  css  js  c++  java
  • 黄聪:.NET开发中的Exception处理三定律[转]

    关于Exception处理没想到争论还不少,把我这些年来一直遵循的原则总结一下(大多数时候适用于WinForm的开发)

    定律1  执行IO,数据库等外部操作的时候,必须以Try-Catch(-Finally)包装该操作,捕获可以预见的IOException,DBException等指定类型的Exception,并正确执行文件流的关闭,DB事务的回滚,DB连接的关闭等后续处理。除此之外的Exception一律无视(自动适用于定律2的处理范围)。

    定律2  除了定律1所提到的场景,只在必须在UI层(多指画面控件的事件处理函数)以Try-Catch(-Finally)捕获Exception。捕获之后只做两件事:根据Exception类型给最终用户显示友好的提示信息,不必显示Exception的具体信息;Exception详细信息,特别是StackTrace,记录在Log中,以方便将来排错。

    定律3  除了定律1定律2所提到的场景,代码的任何地方都不应该出现 Try,Catch, Throw等字眼;大多数情况下不需要使用自定义异常。

    ------------------------------------------------------

    最高定律

    定律0  如果觉得自己确实很NB,可以无视定律1,2,3,随心所欲。

    ------------------------------------------------------

    文章地址:http://www.cnblogs.com/csliwei/archive/2010/12/14/3Rules-Exception.html

  • 相关阅读:
    CSS hacks汇总
    都要靠自己
    不被需要
    我们都是和自己赛跑的人
    其实天底下只有三件事
    开始怀旧了
    JavaScript回调函数陷阱
    郁闷着继续
    清明节悼念逝去亲人
    纯div+css制作的弹出菜单
  • 原文地址:https://www.cnblogs.com/huangcong/p/1906780.html
Copyright © 2011-2022 走看看