3

好的,我目前是一名学习 IT 的 11 年级学生。我正在尝试完成一项实用作业,但遇到了一些问题,如果用户没有将数据输入 RichEdit,我使用的教科书没有告诉我如何创建错误消息。谁能建议我如何做到这一点?感谢您抽出宝贵时间提供帮助。

4

1 回答 1

4

这就是您引发通用异常的方式(使用SysUtils.Exception类):

raise Exception.Create('Error Message');

未处理的异常会导致执行路径逃逸到 Delphi RTL 内部的默认异常处理程序中,然后它将Exception.Message向用户显示 的值。

你甚至可以像这样处理自己的异常:

try
  ...
  raise Exception.Create('Error Message');
  ...
except
  on E: Exception do
  begin
    ShowMessage(E.Message);
  end;
end;

不过,您实际上不会这样做。您引发异常,以便调用您的方法的代码可以处理错误。

如果您想在其他地方(在调用者中)处理错误,请引发异常。

要简单地显示系统标准错误对话框,您可以使用MessageDlg

MessageDlg('Error Message', mtError, [mbOK], 0);

在这种情况下,窗口的标题只是“错误”。如果您必须设置标题,请使用CreateMessageDialog

with CreateMessageDialog('Error Message', mtError, [mbOK], mbOK) do
begin
  try
    Caption := 'Error Caption';
    ShowModal;
  finally
    Release;
  end;
end;

Exception班级在System.SysUtils. MessageDlg并且CreateMessageDialogVcl.Dialogs.

或者使用以下TApplication.MessageBox()方法:

Application.MessageBox('Error Message', 'Error Caption', MB_OK or MB_ICONERROR);
于 2013-10-08T16:43:30.907 回答