我自EDBEngineError继承一个类,却在 try...except 中触发 ?(200分)

  • 主题发起人 主题发起人 fatBaby
  • 开始时间 开始时间
F

fatBaby

Unregistered / Unconfirmed
GUEST, unregistred user!
type
EErrorDatabase = class(EDBEngineError)
function GetMessageID : String;
public
property MessageID : String read GetMessageID;
end;

////////////////////////

try
open;
except
on E: EErrorDatabase do begin
// 没有进入 .. ???
end;
end;


请问这是怎么回事呢 ???

 
是编译时吧,这时的异常是有系统来捕捉的
 
当然是运行时!!
 
1.首先请确定你的异常是否已经发生。如果没有发生当然不会进入异常处理
2.确定异常是否被你继承的异常类包含,没包含当然不会进入特定的异常处理
3.在try后面except前面加上
raise EErrorDatabase.Create('出现我定义的异常');
后看能不能进入,如能证明你的异常在原先的情况下没有出现
如不能,证明你的程序逻辑上有问题,仔细检查一遍吧。
 
补充,
将delphi中project菜单中的option选项中的complier中的optimization去掉后
调试。
 
装一下 update 5.3
 
接受答案了.
 
后退
顶部