【发布时间】:2011-09-08 11:03:43
【问题描述】:
我确信这曾经对我有用,而且我已经在网上看到了它(Jolyon Smith 和 David Moorhouse)。刚刚在 D2007 和 XE2 试用版中的一个简单程序中尝试过,它不会保留修改后的 Message。一旦“引发”发生,消息就会恢复为原始异常。
我错过了什么明显的东西?另一种方法是“引发 Exception.Create(...)”,但我只想将原始异常传播到链上,只在每个异常块上标记附加信息。
var a: Integer;
begin
try
a := 0;
Label1.Caption := IntToStr(100 div a);
except
on e: Exception do
begin
e.Message := 'Extra Info Plus the original : ' + e.Message;
raise;
end;
end;
end;
【问题讨论】: