Marco Web Center |
Home: Code Repository: Mastering Delphi 5Project EXCEP3
Project StructureEXCEP3.DPRprogram Excep3; uses Forms, ExcepF in 'ExcepF.pas' {Form1}; {$R *.RES} begin Application.CreateForm(TForm1, Form1); Application.Run; end. EXCEPF.PASunit ExcepF; interface uses SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) BtnWrong: TButton; BtnTryFinally: TButton; BtnTryTry: TButton; procedure BtnWrongClick(Sender: TObject); procedure BtnTryFinallyClick(Sender: TObject); procedure BtnTryTryClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.BtnWrongClick(Sender: TObject); var I, J: Integer; begin Screen.Cursor := crHourglass; J := 0; // long (and wrong) computation... for I := 1000 downto 0 do J := J + J div I; MessageDlg ('Total: ' + IntToStr (J), mtInformation, [mbOK], 0); Screen.Cursor := crDefault; end; procedure TForm1.BtnTryFinallyClick(Sender: TObject); var I, J: Integer; begin Screen.Cursor := crHourglass; J := 0; try // long (and wrong) computation... for I := 1000 downto 0 do J := J + J div I; MessageDlg ('Total: ' + IntToStr (J), mtInformation, [mbOK], 0); finally Screen.Cursor := crDefault; end; end; procedure TForm1.BtnTryTryClick(Sender: TObject); var I, J: Integer; begin Screen.Cursor := crHourglass; J := 0; try try // long (and wrong) computation... for I := 1000 downto 0 do J := J + J div I; MessageDlg ('Total: ' + IntToStr (J), mtInformation, [mbOK], 0); finally Screen.Cursor := crDefault; end; except on E: EDivByZero do begin // re-raise the exception with a new message raise Exception.Create ('Error in Algorithm'); end; end; end; end. EXCEPF.DFMobject Form1: TForm1 Left = 214 Top = 125 Width = 487 Height = 126 ActiveControl = BtnWrong Caption = 'Exceptions test' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = True PixelsPerInch = 96 TextHeight = 13 object BtnWrong: TButton Left = 40 Top = 25 Width = 113 Height = 49 Caption = 'Wrong' TabOrder = 0 OnClick = BtnWrongClick end object BtnTryFinally: TButton Left = 184 Top = 25 Width = 113 Height = 49 Caption = 'Try Finally' TabOrder = 1 OnClick = BtnTryFinallyClick end object BtnTryTry: TButton Left = 328 Top = 24 Width = 113 Height = 49 Caption = 'Try Try' TabOrder = 2 OnClick = BtnTryTryClick end end
|
||
© Copyright Marco Cantù, 1995-2020, All rights reserved |