Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a szakasz a Microsoft C/C++ Optimalizálási fordítóban implementált strukturált kivételkezelés szintaxisát és használatát ismerteti. A fordító a következő kulcsszavakat értelmezi a strukturált kivételkezelési mechanizmus részeként.
| Kulcsszó | Leírás |
|---|---|
| __try | Egy védett kódtörzset kezd. A __except kulcsszóval kivételkezelővagy __finally kulcsszóval végpontkezelőlétrehozásához használható. |
| __except | Elindít egy kódblokkot, amely csak akkor lesz végrehajtva, ha kivétel történik a társított __try blokkon belül. |
| __finally | Elindít egy kódblokkot, amely akkor lesz végrehajtva, amikor a vezérlőfolyamat elhagyja a társított __try blokkot. |
| __leave | Lehetővé teszi a __try blokk azonnali leállítását anélkül, hogy rendellenes leállást és teljesítménybeli büntetést okoz. |
A fordító emellett kulcsszavakként értelmezi a GetExceptionCode, GetExceptionInformationés AbnormalTermination függvényeket, és a megfelelő kivételkezelési szintaxison kívüli használatuk fordítóhibát okoz. A függvények rövid leírása az alábbiakban található.
| Funkció | Leírás |
|---|---|
| GetExceptionCode | A kivétel típusát azonosító kódot ad vissza. Ez a függvény csak a szűrőkifejezésből vagy a kivételkezelő blokkból hívható meg. |
| GetExceptionInformation | Egy mutatót ad vissza egy EXCEPTION_POINTERS szerkezethez, amely a környezeti rekordra és a kivételrekordra mutató mutatókat tartalmaz. Ez a függvény csak egy kivételkezelő szűrőkifejezéséből hívható meg. |
| rendellenes | Azt jelzi, hogy a vezérlőfolyamat a blokk utolsó utasításának végrehajtása után szekvenciálisan hagyta-e a társított __try blokkot. Ez a függvény csak a megszakításkezelő __finally blokkjából hívható meg. |