Megosztás:


Kezelő szintaxisa

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.