A GNU Octave programozási nyelv

Kivételkezelés

Octave-ban valójában nem kivételkezelésre, hanem hibakezelésre van lehetõség. A program futása során fellépõ hibákat try - catch szerkezet segítségével lehet kezelni, melynek általános formája:

try body catch cleanup end_try_catch

A cleanup részben levõ utasítások csak akkor hajtódnak végre, ha a body részben valamilyen hiba lép fel. Ennek a try szerkezetnek viszont elég korlátolt lehetõségei vannak, például nem tudja a különbözõ hibaosztályokat külön-külön lekezelni.

Az Octave tartalmaz egy további, a Lisp nyelv inspirálta hibakezelési eszközt. Ez az unwind_protect, amely a sok más nyelvben megtalálható finally konstrukció kivétel-kezeléstől elválasztott megfelelője.

Általános formája:

unwind_protect body unwind_protect_cleanup cleanup end_unwind_protect
Ahol a body és a cleanup is tetszőleges kifejezést vagy utasításokat tartalmazhat. A cleanup tartalma mindenképp végrehajtódik, attól függetlenül, hogy hogyan a body rész lefut vagy kivételt dob.