HIK Elektronikus Felsőoktatási Tankönyv- és Szakkönyvtár
A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő által közvetített digitális tartalmat a felhasználó a szerzői jogról szóló 1999. évi LXXVI. tv. 33. paragrafus (4) bekezdésében meghatározott oktatási, illetve tudományos kutatási célra használhatja fel. A felhasználó a digitális tartalmat képernyőn megjelenítheti, letöltheti, arról elektronikus adathordozóra vagy papíralapon másolatot készíthet, adatrögzítő rendszerében tárolhatja. A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő weblapján található digitális tartalmak üzletszerû felhasználása tilos, valamint kizárt a digitális tartalom módosítása és átdolgozása, illetve az ilyen módon keletkezett származékos anyag további felhasználása.

16.2.4. Checked és unchecked

A C# nyelv tartalmaz két további kulcsszót a kivételek kezelésére és a hibák javítására. Az egyik a checked a másik pedig az unchecked. Amennyiben egy értékadáskor egy változóba olyan értéket szeretnénk elhelyezni, mely nem fér el annak értéktartományában, OverflowException hibával leáll a programunk. Jobb esetben az ilyen hibákat el tudjuk kapni a megfelelő catch{} blokkal, de az unchecked kulcsszó használatával megakadályozhatjuk a kivétel keletkezését is, mivel ilyenkor elmarad a hibaellenőrzés.

unchecked

{

int a=2000000000000;

}

Az értékadás megtörténik, a változóba bekerül a csonkított érték. (Amekkora még elfér benne.)

A checked alkalmazásával pontosan az előbbi folyamat ellenkezőjét érjük el. Az ellenőrzés mindenképpen megtörténik, és kivétel keletkezik a hiba miatt.

A checked és unchecked kulcsszavak nem csak blokként használhatóak: cehecked{}, uncehecked{}, hanem kimondottan egy kifejezés vagy értékadás vizsgálatánál is. Ekkor a következő formában írhatjuk őket:

checked( kifejezés, művelet, vagy értékadás);

uncehecked(kifejezés, művelet, vagy értékadás);;

Ebben a formában csak a zárójelek közé írt kifejezésekre, vagy egyéb műveletekre vonatkoznak. Alapértelmezés szerint a checked állapot érvényesül a programokban található minden értékadásra és műveletre. Csak nagyon indokolt esetekben használjuk ki az unchecked nyújtotta lehetőségeket, mert könnyen okozhatunk végzetes hibákat a programokban.

A fentiek ismeretében elmondhatjuk, hogy a hibakezelés, a kivételek kezelése nagyon fontos és hasznos lehetőség a C# nyelvben. Nélküle nehéz lenne elképzelni hibátlanul működő programokat. Igaz, hogy a kivételkezelést alkalmazó programok sem tökéletesek, de talán nem állnak le végzetes hibákkal, nem keserítik sem a programozó, sem a felhasználó életét.