摘要: 建议70:避免在调用栈较低的位置记录异常并不是所有的异常都要被记录到日志,一类情况是异常发生的场景需要被记录,还有一类就是未被捕获的异常。未被捕获的异常通常被视为一个Bug,所以,对于它的记录,应该被视为系统的一个重要组成部分。最适合记录异常和报告的是应用程序的最上层,这通常是UI层。假设存在这样一... 阅读全文
posted @ 2015-08-18 13:28 JesseLZJ 阅读(342) 评论(1) 推荐(0) 编辑
摘要: 建议69:应使用finally避免资源泄漏除非发生让应用程序中断的异常,否则finally总是会先于return执行。finally的这个语言特性决定了资源释放的最佳位置就是在finally块中;另外,资源释放会随着调用堆栈由下往上执行。下面的代码验证了这一点,先定义一个需要释放的类: cla... 阅读全文
posted @ 2015-08-18 12:48 JesseLZJ 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 建议68:从System.Exception或其他常见的基本异常中派生异常微软建议:从System.Exception或其他常见基本异常之一派生异常。在Visual Studio中输入Exception,然后按快捷键Tab,VS会自动创建一个自定义异常类: [Serializable] ... 阅读全文
posted @ 2015-08-18 12:22 JesseLZJ 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 建议67:慎用自定义异常除非有充分的理由,否则不要创建自定义异常。如果要对某类程序出错做特殊处理,那就自定义异常。需要自定义异常的理由如下:1)方便测试。通过抛出一个自定义的异常类型实例,我们可以使捕获的代码精确的知道所发生的事情,并以符合的方式进行恢复。2)逻辑包装。自定义异常可以包装多个其他异常... 阅读全文
posted @ 2015-08-18 11:46 JesseLZJ 阅读(357) 评论(0) 推荐(0) 编辑