100送第一个解决此问题的高手(在线等待,立即给分)
为何不是异常?
源码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, AppEvnts;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
I,J:integer;
E:Exception;
begin
J := 0;
try
for I := 1000 downto 0 do //<---为何将本行注释就无法显示“被零除”
J := J + J div I; //<---还是被零除啊!
except
on E:EDivByZero do
begin
//raise Exception.Create('被零除!');
ShowMessage('被零除!');
end;
// on E:Exception do
// begin
// showmessage('Exception异常!');
// end;
end;
end;
end.