runtime error/fi
│
English (en) │
suomi (fi) │
Ajonaikainen virhe (run-time error) on korjaamaton virhetila, joka syntyy ajon aikana, eli ohjelman suorituksessa.
Käyttäytyminen
FPC lisää koodia, havaitsemaan suuren määrän virhetilanteita. Jos tällainen tilanne ilmenee, RTL-kirjasto käynnistää ohjelman lopettamisen. Run-time error numero ja sen osoite, jossa virhe tapahtui, tulostetaan. Tämä on turvallisin ja halvin virheenkäsittely.
Vertailevia huomautuksia
Käännösajan virheet
Toisin kuin käännösaikaiset virheet, jotka kääntäjä havaitsee kääntämisen aikana, niin ajonaikaiset virheet riippuvat ohjelman tilasta, joten niitä ei voida ennakoida. Jos syntyy käännösaikainen virhe niin suoritettavaa ohjelmaa ei tule.
Poikkeukset
Ajonaikaiset virheet ovat klassinen välttämätön lähestymistapa, jotta vältetään epäjohdonmukaiset ohjelmatilat, jotka saattavat lopulta aiheuttaa ohjelman viallisen käyttäytymisen.
Jos mukana on FPC:n sysUtils
unit niin kaikki ajonaikaiset virheet muuttuvat poikkeuksiksi.
(kts. system.runTimeErrors
yksityiskohdat).
Toisin kuin ajonaikaiset virheet ne jotka voidaan ottaa kiinni try
... except
on
... do
... end
lohkoilla edellyttäen että käytetään poikkeuksia sallivia kääntäjän tiloja kuten{$mode ObjFPC}
tai {$mode Delphi}
.
Ajonaikainen virhe saa ohjelman päättymään, kun taas poikkeusten käyttö voi antaa mahdollisuuden korjata ongelma.
Standardin mukaisen system.runError
normaalia käyttäytymistä voidaan muuttaa määrittämällä ei-nil
arvosystem.errorProc
:lle.