On
Back to Reserved words.
The on keyword to act on the exception type. The on clause checks against one of a number of exception classes.
try
//guarded block of code
// ...
except
on {exception type} do begin
//exception block-handles SomeException
end;
end;
program range_error;
{$mode objfpc} {$H+}
{$R+} // Range check on
uses sysutils;
var
i,j:integer;
arr:array[0..9] of integer;
begin
try
i := 0;
j := 10;
while i < j do
begin
inc(i);
arr[i] := i + j;
WriteLn( i,' ', arr[i]);
end;
except
on E:ERangeError do begin
WriteLn('Error: valid range exceeded detected.');
WriteLn(E.Message);
end;
on E:Exception do // generic handler
WriteLn('Caught ' + E.ClassName + ': ' + E.Message);
end;
WriteLn('Press any key');
ReadLn;
end.See also
From the Free Pascal wiki, page "On", as it stood on 2022-08-06 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
