Delphi异常处理
amfer 2014-05-25 10:54:03 Delphi可以这样抛出异常吗?
try
...
except
on E: exception do
begin
...
raise E; //另一种写法:raise Exception.Create(E.Message);
end;
end;
为什么问这个问题是因为两个事件里都用了raise E这种写法,在第一个事件中抛出异常后同时被第二个事件捕获异常并同时也做了一次raise E,此时出现内存错误,应该是E这个对象已经不存在了,改为raise Exception.Create(E.Message)正常,不清楚Delphi是如何处理对象释放的,那么是不是保险起见都不要用raise E这种写法?