不能捕获多线程中的错误
例如unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    btn1: TButton;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementationuses
  Unit2;
  
{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject);
var
  nt:clsThread;
begin
  try
    nt:=clsThread.Create(False);
  except
    on e:Exception do
    begin
      ShowMessage(e.Message);
    end;
  end;
end;end.unit Unit2;interfaceuses
  Classes, Dialogs, SysUtils;type
  clsThread = class(TThread)
  private
    procedure calt;
  protected
    procedure Execute; override;
  end;implementationprocedure clsThread.Execute;
begin
  Synchronize(calt);
end;procedure clsThread.calt;
var
  x,y,z:Double;
begin
  x:=1;
  y:=0;
  z:=x/y;
  showmessage(floattostr(z));
end;end.