Kivételkezelés
A Turing nem tartalmaz kivételkezelést támogató eszközöket, azonban a Turing Plus pótolja ezt a hiányosságot.
Minden alprogram elejére írhatunk kezelőt (handler) a kivételeknek. Formája: handler(kód) utasítások end handler.
A kivételeket egész számokkal reprezentálja. Az exception lekezelése után a vezérlés az alprogram meghívása utáni pozícióra adódik át.
Lehetőség van a kivételek explicit kiváltására is, a quit kulcsszó segítségével. Ennek háromféle alakja van, a kivétel terjedése szerint:
- quit : n % a kivételt okozó helyzet az alprogramban keletkezett
- quit < : n % a kivételt okozó helyzet a hívó miatt keletkezett (pl. nem megfelelő paraméter)
- quit > : n % a kivételt okozó helyzet egy korábbi kivétel miatt keletkezett
A
quit utasítás első változata a normál kivétel jelöli a programban, ha nincs kezelő hozzá definiálva, akkor a rendszer a annak a sornak
a számát írja ki, ahol a quit utasítás található. A második változatott (
quit <) akkor használjuk, ha a hívó okozta a hibát, mint például ha a
meghívott alprogram egy pozitív számot vár paraméterül, de a hívó programrész negatív számot adott át. Ebben az esetben, ha nincs explicit
kivételkezelő, akkor a rendszer a hívó programrész sorának számát írja ki. Az utolsó (
quit >) kivételt kiváltó utasítást akkor kell alkalmazni,
ha a kivételt egy előző kivétel váltotta ki. Így tudjuk a kivételeket "továbbpasszolni".