Kivételek kezelése a debugger segítségével

Ha kivétel történik, a hibakereső üzenetet ír a "Kimenet" ablakba. Megszakíthatja a végrehajtást a következő esetekben:

ha kivétel történik és nem kerül feldolgozásra;

ha a hibakereső úgy van beállítva, hogy a kivételt követően haladéktalanul megszakítsa a végrehajtást, mielőtt bármilyen kezelőt felhívna;

ha csak a Saját kód van megadva, és a hibakereső úgy van beállítva, hogy megszakítsa a kivételeket, amelyek nem feldolgozódtak a felhasználói kódban.

Az ASP.NET-ben van egy legfelső szintű kivételkezelő, amely a böngészőben megjelenő hibaoldalakat jeleníti meg. Nem fejezi be a végrehajtást addig, amíg a Csak kód csak engedélyezve van. Például: A hibakereső beállítása a végrehajtás folytatásához, ha a nem-felhasználó kivételeket az alábbiakban mutatjuk be.

A Visual Basic programban írt alkalmazásokban a hibakereső minden hibát kivételként kezel, még akkor is, ha hibakezelő eszközöket használ, például On Error.

Az Exception Settings (Kivétel beállításai) ablakban meg lehet adni, hogy mely kivételek (vagy kivételkészletek) miatt a hibakereső leállhat, és ezen a ponton meg kell állítani ezt a megállítást. Kivételek hozzáadása vagy eltávolítása, illetve kivételek beállítása megszakítás esetén. Nyissa meg ezt az ablakot a nyitott megoldásban a Debug / Window / Exception Options sorrendben.

Az adott kivételek megadásához használhatja a Keresés ablakot a Kivétel beállításai eszköztáron, vagy alkalmazhatja a keresési funkciót bizonyos névterek (például System.IO) szűrésére.

A hibakereső beállítása, ha megszakítja a végrehajtást kivétel létrehozásakor

A hibakereső megszakíthatja az alkalmazás végrehajtását azon a ponton, ahol a kivétel megtörténik, így lehetőséget biztosít a kivétel ellenőrzésére a kezelő neve előtt.

Kivételek kezelése a debugger segítségével

A kivétel ellenőrzése során a hibakeresés megszakad, függetlenül attól, hogy a feldolgozás folyamatban van-e vagy sem. Ezen a ponton a kivétel a kivétel első példányának minősül. Az alábbiakban néhány példa található.

A következő C # konzol alkalmazásban a Fő módszer egy AccessViolationException-ot dob ​​a Try / Catch blokkban.

Ha az AccessViolationException be van helyezve az Exception Settings ablakban. Ha ezt a kódot hibakereső módban hajtja végre, akkor a ThrowHandledException () és a ThrowUnhandledException () módszerek ThrowHandledException () dobásánál megáll.

A kizárások alapértelmezett beállításainak visszaállításához kattintson a Visszaállítás gombra az eszköztáron.

Kivételek kezelése a debugger segítségével

A hibakereső beállítása a végrehajtás folytatásához, ha nem felhasználói kivételek keletkeznek

A Kivétel beállításai ablakban nyissa meg a helyi menüt úgy, hogy jobb gombbal kattint az ablakban, majd kattintson az Oszlopok megjelenítése gombra. (Ha csak a kódom le van tiltva, ez a parancs nem jelenik meg.)

Egy második oszlop jelenik meg a További műveletek nevével. Ez az oszlop megjeleníti a Folytatás üzenetet, ha nem dolgozik fel a felhasználói kódban meghatározott kivételekkel. Ez azt jelenti, hogy a hibakereső nem hagyja abba a végrehajtást, ha a kivételt nem kezeli a felhasználói kód, de külső kóddal dolgozik.

Például az ASP.NET webes alkalmazások kezelik a kivételeket úgy, hogy egy HTTP 500 állapotkódot (kivételkezelés az ASP.NET API-ban) konvertálnak, ami megnehezíti a kivétel forrását. A következő példában a felhasználói kód felhívja a String.Format () metódust. amely egy FormatException-ot hoz létre. A végrehajtás az alábbiak szerint megszakad.

Kivételek kezelése a debugger segítségével

Kivételek hozzáadása és eltávolítása

Ellenőrizze a helyesírást! A Kivétel beállításai ablak nem ellenőrzi a hozzáadott kivétel meglétét. Ezért, ha beírja a Sytem.UriTemplateMatchException parancsot, megjelenik egy erre a kivételre vonatkozó bejegyzés (és nem a System.UriTemplateMatchException).

A kizárási paraméterek a megoldás SUO fájljában vannak tárolva, és így egy adott megoldásra vonatkoznak. Egy adott kivétel paramétereit nem lehet újra felhasználni a megoldásokban. Ezen a ponton csak a hozzáadott kivételek menthetők. A távoli kivételek nem kerülnek mentésre. Más szóval, adhat hozzá egy kivételt, zárja be, és újra megnyitja a megoldást - a kivétel a korábbiakban marad. Ha azonban kivételt töröl, bezárja és újra megnyitja a megoldást, a kivétel újra megjelenik.

Az Opciók kizárása ablak támogatja a generikus kivétel típusokat a C #-ben, de nem a Visual Basicben. A kivétel előfordulásának leállítása, például a MyNamespace.GenericException. kivételt kell hozzáadnia a MyNamespace.GenericException formában1. Vagyis, ha a következő kivétel jön létre:

Kapcsolódó cikkek