随笔分类 - 异常和状态管理
摘要:理解异常机制固然重要,但同等重要的是理解如何正确使用异常。我经常发现类库开发人员捕捉所有类型的异常,造成应用程序开发人员对问题不知情。本章就异常的使用提供一些指导原则。重要提示 如果你是类库开发人员,要设计供其他开发人员使用的类型,那么一定要严谨按照这些指导原则行事。你的责任非常重大,要精心设计类库...
阅读全文
摘要:面向对象编程极大的提升了开发人员的效率。开发效率的提升有很大一部分来源于可组合性,它使代码很容易编写、阅读、维护。例如下面的代码:Boolean f = "Jeff".Substring(1, 1).ToUpper().EndsWith("E");但上面代码有一个重要的前提:没有错误发生。而错误总是...
阅读全文
摘要:实现自己的方法时,如果方法无法完成方法名指定的任务,就应抛出一个异常,抛出异常时要考虑两个问题。第一个问题是抛出什么Exception派生类型。应选择一个有意义的类型。要考虑调用栈中位于高出的代码,要知道那些代码如何判断一个方法失败,以便执行一些得体的恢复代码。可直接利用FCL中定义好的一个类型,...
阅读全文
摘要:CLR允许异常抛出任何类型的实例,从Int32到String都可以。但是,Microsoft决定不强迫所有编程语言都抛出和捕捉任何类型的异常。因此,他们定义了System.Exception类型,并规定所有CLS相容的编程语言都必须能抛出和捕捉该类型的异常。派生自System.Exception的异...
阅读全文
摘要:本节将介绍异常处理的机制,以及进行异常处理所需的C#构造。但是,这里不准备过多的讨论细节。本章旨在提供一些在代码中何时以及如何使用使用异常处理的指导原则。想要更多的了解异常处理机制和相关的C#语言构造,请参见.NET FrameWork文档和C#语言规范。另外,.NET Framework异常处理机...
阅读全文
摘要:设计类型时,首先要想好类型的各种使用情况。类型名称通常是一个名词,例如FileStream或者StringBuilder。然后,要为类型定义属性、方法、事件等。这些成员的定义方式就是类型的编程接口。这些成员代表类本身或者类型实例可以执行的动作。行动成员通常用动词表示,例如Read,Write,Flu...
阅读全文
浙公网安备 33010602011771号