Net platformasi bilan tanishish clr, cts va cls


Download 428.24 Kb.
bet11/18
Sana07.05.2023
Hajmi428.24 Kb.
#1437478
1   ...   7   8   9   10   11   12   13   14   ...   18
Bog'liq
C# методичка

Exception handling

C # kodini bajarishda turli xil xatolar bo'lishi mumkin: dasturchi tomonidan yo'l qo'yilgan kodlash xatolari, noto'g'ri kirish tufayli xatolar yoki boshqa kutilmagan narsalar. Xato yuzaga kelganda, C# odatda to'xtaydi va xato haqida xabar beradi. Buning texnik atamasi: C# istisno beradi (xato beradi).


Try operatori uni bajarish paytida xatolar uchun tekshiriladigan kod blokini aniqlashga imkon beradi.
Catch bayonoti agar try blokida xato yuz bersa, bajariladigan kod blokini aniqlashga imkon beradi.
Kalit so'zlar sinab ko'ringva catch, juft bo'lib qoladi:
try{
// Block of code to try
}
catch (Exception e)
{
// Block of code to handle errors
}

int[] myNumbers = {1, 2, 3};


Console.WriteLine(myNumbers[10]); // error!
Agar xato yuzaga kelsa, biz sinab ko'rishimiz mumkin...xatoni qo'lga olish va uni qayta ishlash uchun ba'zi kodlarni bajarish uchun catch.
Quyidagi misolda biz catch ( e) blokidagi o'zgaruvchini ichki o'rnatilgan bilan birga ishlatamiz Messades, istisnoni tavsiflovchi xabarni chiqaradigan xususiyat:
try{
int[] myNumbers = {1, 2, 3};
Console.WriteLine(myNumbers[10]);}
catch (Exception e)
{Console.WriteLine(e.Message);}


Classning statik elementlari

Oddiy maydonlar, usullar, xususiyatlardan tashqari sinflar va tuzilmalar statik maydonlar, usullar, xususiyatlarga ega bo'lishi mumkin. Statik maydonlar, usullar, xususiyatlar butun sinfga / butun tuzilishga tegishli va bunday a'zolarga murojaat qilish uchun sinf / tuzilish namunasini yaratish shart emas.


Statik maydonlar
Statik maydonlar butun sinf / strukturaning holatini saqlaydi. Statik maydon odatdagidek aniqlanadi, faqat maydon turidan oldin statik kalit so'z ko'rsatiladi. Masalan, shaxsni ifodalovchi shaxs sinfini ko'rib chiqing:
Person bob = new(68);
bob.BilanheckAge(); // Allaqachon yoqilgan pensiya
Person tom = new(37);
tom.Cheskade (); / / pensiyaga necha yil qoldi: 28
// statik maydonni olish
Console.WriteLine(Person.retirementAge); // 65
// statik maydonni o'zgartirish
Person.retirementAge = 67;
class Person
{int age;
public static int retirementAge = 65;
public Person(int age)
{this.age = age;}
public void BilanheckAge()
{if (age >= retirementAge)
Console.WriteLine("Allaqachon yoqilgan pensiya");
else
Console.WriteLine($"Qancha yillar qoldi oldin pensiya: {retirementAge - age}"); }}



Download 428.24 Kb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   ...   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling