On/fi

From Lazarus wiki
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