On/fi

From Free Pascal wiki
Revision as of 19:08, 3 April 2019 by Djzepi (talk | contribs) (Created page with "{{On}} <syntaxhighlight lang="pascal" enclose="none">On</syntaxhighlight>-avainsanaa käytetään poikkeuksen aiheuttaman tyypien toteamisess...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Deutsch (de) English (en) suomi (fi)

On-avainsanaa käytetään poikkeuksen aiheuttaman tyypien toteamisessa. On-lauseke tarkistaa onko kyseessä lukuisista poikkeusluokista joku tietty..

try
    //mahdollisesti poikkeuksia aiheuttava koodilohko
    // ...
except
   on {poikkeustyyppi} do begin
     // poikkeusten käsittely lohko, joka käsittelee jotkut poikkeukset
   end;
end;


program range_error;
{$mode objfpc} {$H+}
{$R+} // Alue tarkastelu päälle
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('Virhe: voimassa olevan alueen ylitys havaittu.');
      WriteLn(E.Message);
    end;
    on E:Exception do  // yleinen käsittelijä
      WriteLn('Caught ' + E.ClassName + ': ' + E.Message);
  end;
  WriteLn('Paina jotain näppäintä');
  ReadLn;
end.

Katso myös