Kivételek Kivételek 7 kivételek és a standard kezelés

Amikor a program előfordulhat egy másfajta hiba: túlcsordulás, osztás nullával, kísérlet arra, hogy nyisson meg egy nem létező fájl, stb Abban az esetben, kivételes esetben, a program által generált úgynevezett kivétel, és további számítások és a blokk megszűnik.

Kivétel - a tárgya egy speciális, amely jellemzi a programot eredetileg a kivételes helyzetben. Ez is tartalmazhatnak paraméter megadásával bizonyos információkat. Egy figyelemre méltó kivétel, hogy ez csupán átmeneti tárgyakat. Amint azok feldolgozása néhány felvezető, elpusztulnak.

Ha a kivétel nem fogott bárhol a programban kerül feldolgozásra TApplicatiun.HandleExctiption. Egy szabványos reakció a program a legtöbb kivétellel - a kérdés a felhasználói összefoglaló információt az üzenet ablakot, és elpusztítja a kivétel például. Valószínűleg szembesül egy ilyen szabvány üzenettel: integer nullával osztás, kísérlet arra, hogy nyisson meg egy meglévő fájlt, vagy nem próbálja átalakítani a funkció StrToInt string „1.5”, egy egész szám.

Ha azt szeretnénk, akkor letilthatja a jelenés ezeket az üzeneteket. Ehhez a következő parancsot az Eszközök | Debugger Options, a megjelenő párbeszédpanelen válassza ki az oldal Nyelv Kivételek és kapcsolja ki rajta állomása Delphi Kivételek lehetőséget. Ha nem történik intézkedés, akkor a generációs kivételek megszüntetése baj számítástechnikai adhat még baj járó úgynevezett erőforrás ivarzás. Ez azt jelenti, a veszteséget a kupac, lezáratlan fájlok nem törlődnek az ideiglenes fájlokat a lemezen, és más „szemetet”. Például tegyük fel, hogy végre valamilyen program, amelyben ott vannak a következő állítások:

Megnyit egy ideiglenes fájlba a név a.tmp, tárolni bármilyen közbenső számítási adatokat. Végén a munkát kíván, hogy elpusztítsa az eljárás törlése. Dinamikusan osztja memóriát az új eljárást, azzal a szándékkal, hogy engedje el, amikor te már nem lesz szükség, az eljárás dobja. De ha az ideiglenes kimutatások jelzett fenti pontok, kivétel történik, a számítást megszakad és törlése eljárások és megsemmisíteni nem teljesülnek. Ennek eredményeként, a memória mennyiségét, hogy az új eljárás nem lesz elérhető, és továbbra is az ideiglenes és felesleges fayla.tmp már a lemezen.

Ezen túlmenően, a standard kivételkezelés program egy másik hátránya - a felhasználó teljesen megzavarodott, mit kell tennie a következő lépés? És nem csak egy nagyon gyakorlott felhasználó, amely üzenetet angolul is belevetette magát a sokk. Még a tapasztalt ember néha lehetetlen kitalálni, mi a program osztva nulla, és hogyan lehet elkerülni. Valószínűleg mindenki kapott egy ilyen helyzetet, még a szakszerűen történt programok, beleértve a Windows.

Kapcsolódó cikkek