Itthon Fejlesztés Mi a fogási blokk? - meghatározás a techopedia alapján

Mi a fogási blokk? - meghatározás a techopedia alapján

Tartalomjegyzék:

Anonim

Meghatározás - Mit jelent a Catch Block?

A C # kódolási blokk egy opcionális kódblokk, amelyet kivétel kiváltásakor hajtanak végre.


A Catch-blokk a kivételes kezelési konstrukció egy speciális része, és a "catch" kulcsszóval, a "try" és "végül" kulcsszavakkal kombinálva valósul meg, és eszközként szolgál a strukturált kivételkezelés megvalósításához. A próbablokk tartalmazza az őrzött kódot, amely kivételt okozhat. Mellékelt nyilatkozatokat tartalmaz, amelyek kivételes körülményekkel foglalkoznak, és arra törekszik, hogy helyreálljon az ilyen váratlan körülmények között.


A fogási blokk képezi a kivételek kezelésének eszközét. Ha ezekkel nem foglalkoznak, akkor a teljes program leállhat a .NET futási idővel. A fogási blokk felhasználható bármilyen vagy különleges kivétel kezelésére.

A Techopedia magyarázza a Catch Block-ot

A Common Language Runtime (CLR) kivételkezelési modellje egynél több fogási blokkot tesz lehetővé, amelyek mindegyikét egy meghatározott kivétel kezelésére tervezték. Ha kivétel történik, a CLR a kivételt kezelő fogási blokkot keresi. Ha a jelenleg végrehajtó módszer nem tartalmaz ilyen blokkot, akkor a CLR azt a módszert keresi, amely felhívta az aktuális módszert a hívásverembe. Ha a teljes kódban nem található megfelelő kivétel ehhez a kivételhez, akkor a szál végrehajtása leáll, és egy kezelhetetlen kivételüzenet jelenik meg a felhasználó számára.


Az alábbiakban bemutatunk néhány tippet a fogási blokk használatához:

  • A kivétel típusát csak akkor kell meghatározni a fogási blokkban, amikor a konkrét, megelőzhetetlen kivételek (például katasztrofális rendszerhibák, API visszaélések stb.) Előfordulásának oka meghatározásra került, és a helyreállítás végrehajtása megtörtént anélkül, hogy az alkalmazást következetlen vagy érvénytelen állapot.
  • A reteszelő blokkot úgy kell elhelyezni, hogy a konkrétabb kivételeket a kevésbé konkrét kivételek előtt kell elkapni.
  • A paraméterek nélküli fogási blokkot "étkezési kivételeknek" nevezzük, mivel ez elnyomhatja a nehéz hibakeresési problémákat.
  • A fogási blokk központosítható úgy, hogy kezelje a kivételt egy központi helyről.
  • A "dobás" állítás felhasználható a fogási blokkban, amelyre ugyanaz a kivétel tárgya, amelyet a dobás során átadtak, ismételten továbbadható.
  • A próbablokkban deklarált változók nem használhatók rajta kívül.
  • A kód nem fog visszatérni a próbablokkba, miután a fogási blokk végrehajtása megtörtént.
  • A kivételkezelő kódjának kipróbálása a fogási blokkban elengedhetetlen az alkalmazás törésének elkerülése érdekében.
  • A fogási blokk nem használható a tisztítási kódhoz.
  • A paraméterek nélküli fogási blokk nem használható a nem általános nyelvi rendszer-kompatibilis kivételek kezelésére (amelyek nem a System.Exception-ből származnak).
Ezt a meghatározást a C # összefüggésben írták
Mi a fogási blokk? - meghatározás a techopedia alapján