A MATLAB programozási nyelv

Kivételkezelés



Kivételkezelés a try...catch...end-el történik. Hiba esetén a kivétel a lasterrbe kerül, és a catch...end részben if-el lehet szerteágazni (a catch mindent elkap). A MATLAB nem nyújt lehetőséget sem újrakezdésre, sem ún. final részre.


try - catch

Az általános alak a következő:

try
    /utasítások/
catch
    /utasítások/
end

Az interpreter a try és a catch közötti utasításokat hajtja végre, majd ha nem történt hiba, az end utáni utasítással folytatódik a program. Ha hiba történt, a vezérlés a catch utáni utasítással folytatódik. A hiba okát a lasterr függvénnyel kérdezhetjük le. Ha a catch és az end között újabb hiba lép fel, a MATLAB terminálja a programot, hacsak nem vagyunk még mindig egy try - catch blokk hatáskörében. Utóbbi esetben megint a megfelelő catch - end blokkra adódik a vezérlés. Ez azt jelenti, hogy a kivételkezelő blokkokat egymásba is ágyazhatjuk.