A Digitalmars D programozási nyelv

Kivételkezelés

Minden programozónak számolnia kell a hiba lehetőségével. A hibák váratlan körülmények, amelyek a program normális futásának nem részei. A leggyakoribb hibák:

A hibakezelés problémája

A C nyelvben a hibakezelés, a hiba megkeresése és jelentése nem szokványos, ez ad-hoc és függvényenként változó, beleértve

A lehetséges hibákkal való foglalkozás, a fárasztó hibakezelés függvényhívásokhoz van rendelve. Ha hiba lépett fel, annak helyét meg kell határozni, és jelezni kell a felhasználónak felhasználóbarát formában. Ha a hiba helyben nem kezelhető le, explicit felterjesztődik az őt meghívónak. A hibaértékek hosszú listáját megfelelő formátumura kell konvertálni, hogy értelmes hibaüzenetté váljék a felhasználó számára.

A következő szempontok szükségesek egy jó hibakezelő kialakításához:

A D-ben használt hibakezelő

Először nézzünk meg néhány hibákkal kapcsolatos tapasztalatot

A megoldás hibakezelés használata. A D programozási nyelvben minden hiba osztály az absztrakt Error osztály leszármazottja. Az Error osztálynak van egy toString() virtuális függvénye, kimenete char[], amely a felhasználó számára értelmezhető leírása a hibának.

Például amennyiben a hiba típusa „out of memory”, az Error függvénye egy „out of memory” hibaüzenet küld. A függvény keres egy hibakezelő ágat. Ha ilyet talál a program végrehajtása ott folytatódik. Ha nem talál, akkor az alapértelmezett Error handler fut le, amely üzenetet küld a felhasználónak és a programot leállítja.

Hibakezelő szempontok áttekintése a D programozási nyelvben: