A Boo programozási nyelv

Kivételkezelés

Szintaxis

A Boo-ban van kivételkezelés, ami azt jelenti, hogy a futásidőben keletkező hibákat a programon belül kezeljük le, és nem szakad meg a program futása hibával. Ahhoz, hogy egy helyzetet le tudjunk kezelni, el kell kapnunk az exception-t. Többféleképpen is el lehet kapni, le lehet őket kezelni. Try - except, try - ensure, try - except - ensue. Minden Exception az Exception osztályból származik.

Kivételek definiálása

Vannak beépített, előre definiált kivételek, de lehetőségünk van saját kivétel definiálására is, úgy hogy példányosítunk egyet az Exception osztályból.

Kivételek kiváltása

A kivételek kiváltása a raise kulcsszó segítségével történik.

Kivételek kezelése

A kivételek kezelése a kivételkezelő blokk segítségével történik. 3 része van:

import System try: s = MyClass() s.SomethingBad() except e as Exception: print "Problem! ${e.Message}" ensure: print "This code will be executed, whether there is an error or not."


Problem: Something bad happened.
This code will be executed, whether there is an error or not.

Kivételek terjedése

Ha egy kivételt nem kezeltünk le valahol, akkor feljebb kerül, az szülőblokkba, egészen fel, ha nem kezeltük le egyáltalán, akkor a program futása befejeződik.