異常機制與遮蔽除錯程式碼

findumars發表於2013-08-13
procedure TForm1.Button3Click(Sender: TObject);
var
    Ratio, Numerator, Denominator: integer;
begin
    Denominator:=0;
    Numerator:=0;
    try
        Ratio:= Numerator div Denominator;
    except
        on EDivByZero do
        begin
            Ratio:=0; // 可以加入自己的ShowMessage
            {$IFOPT D-} // 如果變成D+,就會執行下面那句話。
            ShowMessage('0000');
            {$ENDIF}
        end;
    end;
    ShowMessage(IntToStr(Ratio));
end;

 

procedure TForm1.Button4Click(Sender: TObject);
var
    Ratio, Numerator, Denominator: integer;
begin
    Denominator:=0;
    Numerator:=0;
    Ratio:= Numerator div Denominator; // 程式雖然不會崩潰,但Delphi自己彈出DivByZero的英文錯誤,應該換成自己的
    ShowMessage(IntToStr(Ratio));
end;

 

相關文章