A BETA programozási nyelv

Kivételkezelés



Kivételkezelés

Minden kivétel egy minta, melyeknek közös őse van, az exception minta. A kivételek alapműködésként megállítják a programot és valamilyen információt írnak a képernyőre. Továbbá létrehoznak egy dump-fájlt, ami a veremről tartalmaz információt. Az exception minta a stop mintát használja a termináláshoz. Speciális hibaüzenetek definiálásához az exception mintát kell kiterjeszteni: specializálni. Az exception minta msg attribútuma egy text objektum, ami a hibaüzenetek gyűjtésére szolgál. Ha a programozó úgy kezelni akarja a kivételt, hogy a program futása ne szakadjon meg, akkor a continue attribútumot egyszerűen igazra kell állítania.

A kivételek gyakran más minták virtuális mintájaként vannak definiálva (például a file-mintában). Azért, hogy különbséget tudjunk tenni a lehetséges végzetes hibák és a sokkal ártalmatlanabb kivételek között, egy notification nevű minta is definiálva van a következő módon:

notification: exception (# do true -> continue; INNER #);

Ebből látszik, hogy ezt alapvetően arra szánták, hogy a program a kivétel kezelése után rendesen folytatódjon.

Példa: Exception