Kivételek a Delphi, kivétel osztályok
Kivételek (kivételek) - egy módszere, amely információt a futásidejű hiba vagy egyéb rendkívüli körülmények az a hely, amely az első a maga talált ki a kódot kell kezelni az ilyen helyzeteket. Végső soron, a hiba miatt hiányos tanulmány valamennyi lehetőség a program. Az ezt követő programverzióra észlelt hibákat próbálja meg kiküszöbölni, de sokat lehet biztosítani egyszerre.
Jellemzők:
kivételek és kivételkezelés eltér a hagyományos feldolgozási, hogy lehetővé teszi számunkra, hogy külön a kód hibát észlel a kódot, amely reagál rá, és azért is, mert olyan automatikus és nem tolakodó kommunikációs csatorna két része között a kódot. A kód hibát észlel, egy kivétel van emelve, jelezve, hogy megjelenik. A kód, amely választ ad a hiba jel, az úgynevezett kivételkezelőt. Amikor egy kivétel van emelve, elkezdi keresi a megfelelő kivételkezelőt. Miután megtalálta a vezérlés átkerül, és a program soha nem tér vissza a kódot, ami miatt a kivétel. Végrehajtása után kivételkezelő kóddal, vagy folytathatja a program végrehajtását a nyilatkozatot követően a felvezető vagy tovább folyik a kutatás másik eseménykezelő. Ez drámaian megváltoztathatja a program során.
Kivétel Model Object Pascal egy nem megújuló (nem folytatható). Abban az esetben, kivételes helyzet, akkor nem lesz képes visszatérni arra a pontra, ahonnan származik, a program folytatásáról (ez lehetővé teszi, hogy a megújuló (folytatható) modell). Nem megújuló kivételek elpusztítsa a köteget, mivel azok szkennelt keresve a felvezető; Megújuló modell fenntartásához szükséges a verem, az állam a CPU regiszterek ponton a hibát, és keresni a felvezető és annak végrehajtása egy verem. Megújuló feldolgozó rendszer kivételek sokkal nehezebb létrehozni és használni, nem pedig a nem megújuló.
A Delphi vannak kivételek formájában tárgyakat. Ők izgatott, és ott, amíg a kivétel nem kezelik.
Kivétel feldolgozás mindig tönkreteszi a kivétel például. Ugyanakkor a programozó nem csak akkor lesz képes kezelni kivételek, hanem a jogot, hogy kezdeményezzen egy kivétel, ha hiba történik.
kivétel osztályok
A jelenlegi trend a használatát OOP osztályok és példányok kivételek kezelése. Base osztály valamennyi kivétel osztályok Delphi Exception osztály, közvetlen leszármazottja osztály TObject. Ez az a típus, amely az alapértelmezett kezelőt az összes kivételt.
Minden kivétel osztályok általában nevezik a „E” betű. Listák szabványos kizárások bejelentett Delphi, put megtalálható az irodalomban.
Kivételosztály modulban meghatározott mintegy SysUtils következik. Az alap osztály tartalmazza terén string típusú FMessage, ad téma Private. Ez elérhető az ingatlan Üzenet, közvetlen hozzáférést biztosít a területen írása és olvasása az értékét. Ez ebben a sorban a kiadási feldolgozásakor kivételt alapértelmezés szerint.
Constructor létrehozása (Const MSG: String);
Constructor CreateFmt (Const MSG: String; Const paraméterek: Array Const); (Formázott üzenet)
A források felhasználását:
Constructor CreateRes (Ident: Egész szám); túlterhelés
Constructor CreateRes (ResStringRec: PResStringRec); túlterhelés
Vannak több tervező használja a rendszer segítségével
Constructor létrehozása üz veszi egyetlen paraméter String. Ez a vonal kell informatív és tartalmas string kivételt, illetve kivételt osztályban. És sok a tervezők.
Kivételek adatbázisokban
Között a leszármazottai Exception osztály, több osztály osztályok tervezték, hogy adatbázisok. Először is, ez EDatabaseError és EDBEngineError. Az utóbbi azért érdekes további megfontolásra.
EDatabaseError = Osztály (Kivétel); // osztály meghatározása a DB modul
EDBEngineError = Osztály (EDatabaseError) // észlelve modul DBTables
Ha a legtöbb osztályok Delphi kivételes helyzetekben egyszerűen egy hibaüzenetet jelenít meg, a kivételek adatbázisok jönnek létre, lehetővé téve, hogy egy listát a lehetséges hibákat, beleértve a hibakódok, mint a helyi adatbázisok és az SQL-szerver. Ehhez EDBEngineError osztály két további tulajdonságai: ERRORCOUNT (hibák száma) és hibák (lista az összes hiba). Minden eleme a hibák ingatlan egy objektumot TDBError bejelentette, a DB és öt tulajdonságokkal olvasásra (Ro), visszatérő hiba részleteit a modult.
Attól függően, hogy a hibakód, akkor biztosítani a különböző lehetőségeket válaszokat határozza meg. Kódjai BDE hibákat a fájlban szereplő BDE.INT.
néma kivételek
Az építészet, a Delphi kivételkezelés helyzetek, van egy másik eszköz kivételkezelés. Ez egy példánya minden kivételt, kezdeményezte az osztály EAbort vagy utódai. Borland cég felhívja ezeket a kivételeket „csendes» (silent) vagy a »rejtett«. Az a tény, hogy a kezelés ezeket a kivételeket nem emelkedik olyan szintre, és nem nyújt semmilyen kimenetet üzeneteket. Tény, hogy hamar elpusztult kivételek. Az ilyen kezelés nem hoz létre maga: meg kell, szükség esetén biztosítani, és feldolgozni a programozó.
hardver kivételek
Meg kell jegyezni, hogy amellett, vannak kivételek Delphi hardver kivételek működésével kapcsolatos hardver és a hardver megszakításokat. Ezek közé tartozik, hogy a hibák akkor jelentkeznek, amikor a nyomtató használata lemezmeghajtó, stb Van egy határozott lehetősége közé tartozik a hardver kivételek Delphi kivételek, és így kezelni az ilyen helyzeteket. Azonban hardver kivételek eltérnek Delphi kivételek.