1、刚看过D6DG,里面说Exception是基于操作系统的。即windows本身已经完成了Exception,delphi只不过封装了一下。
2、该文好象以前看过了,我觉得有些路走偏锋,确实我也不清楚如果构造函数发生例外会怎么样,不过通常的代码都是这样:
a := TForm1.Create(Application)
try
a.ShowModal
finally
a.Free
end;
这就说明了不必为建构函数操心。
3、希望以后的片段更精彩。
最后,祝Nicrosoft春节快乐。

解决方案 »

  1.   

    to chechy:
    1。VCL本身的类很少有在构造函数中抛出异常的(我没见过)。因此不必操心,但是用户自定义类就不一定。2。这个段落是基于以前我写的一篇《再谈异常——C++和Object Pascal中的构造函数与异常》一文的基础上改的,所以老兄眼熟。3。从delphi2开始,delphi的异常已经和api合为一体,delphi1是语言提供的。说exception是对api的封装一点都没有错。
      

  2.   

    啊,差点忘了,也祝xzgyb和chechy春节愉快!
      

  3.   

    虽然如此,可是 Delphi 仍然提供了 {$O-} 编译指令,此时可以取消代码优化功能,包括排除常规异常,是否可以说此时需要注意构造函数的异常情况?祝  Nicrosoft 春节愉快,万事如意
      

  4.   

    to initora:我说的构造函数没有返回值,是指constructor Create();的语法声明中没有指明返回值类型。当然,一般Obj := TMyClass.Create();的语法,说明构造函数返回了一个对象指针。但是,这个指针并非程序员在构造函数中使用result := ... 来返回的,而是编译器给出的。