在Lazarus中更改异常消息

时间:2013-06-04 00:44:55

标签: exception freepascal lazarus delphi

每次我使用raise Exception.create('...');时,它都会显示与Delphi不同的方框:

[my message]

Press OK to ignore and risk data corruption.
Press Cancel to kill the program.

我只是想更改此默认消息并仅保留我的部分。

有人知道我该怎么办?

1 个答案:

答案 0 :(得分:2)

要配置我自己的异常消息,我执行了以下操作:

在应用程序主窗体的私有声明中:

procedure onExcept(sender: TObject; e: Exception);

在主窗体的OnCreate事件中:

procedure TfrmMain.formCreate(sender: TObject);
begin
    application.onException := @onExcept;
end;

procedure TfrmMain.onExcept(sender: TObject; e: Exception);
begin
    //...
end;

重要的是要注意,如果您使用Lazarus,则需要@运算符。如果我没有把它,编译器会将onExcept视为函数调用。 Delphi在内部添加它,因此您不必担心它。

如果您想更改此行为,请使用{$mode Delphi}代替{$mode ObjFPC}指令。