我正在使用针对Delphi / C ++ Builder的EurekaLog错误捕捉器。他们所有的示例都在Delphi中,我正在使用C ++ Builder。下面的Delphi代码是导致软件异常的示例之一。我试图在下面将其转换为C ++,但是我的代码是错误的。您能告诉我正确的C ++代码来完成这项工作吗?
EurekaLog的Delphi代码
type
EMyException = class(Exception);
Procedure TForm. ButtonClick(Sender: TObject);
begin
raise EMyException.Create('Error Message');
end;
end.
我的C ++ Builder代码不起作用
typedef class{
Exception;
}EMyException;
void __fastcall TForm1::ButtonClick(TObject *Sender)
{
throw new EMyException("Error Message");
}
答案 0 :(得分:3)
您需要派生新类,而不使用typedef。并且在调用new
时不要使用throw
(这是C ++ Builder中的 only 区域,其中TObject
的后代不能用{{ 1}})。
new