Олий таълим ўқув режаларидаги фанларга



Download 4,03 Mb.
bet48/102
Sana23.02.2022
Hajmi4,03 Mb.
#136190
1   ...   44   45   46   47   48   49   50   51   ...   102
Bog'liq
Dasturlash asoslari majmua

try
{
//блок1
}
catch (FormatException)
{
//Биринчи истисно блоки коди
}
catch (FileNotFoundException)
{
// Иккинчи истисно блоки коди
}
...


16.3. finally блоки
try-catch блокида яна бир блок ишлатиш мумкин. Бу finally –блокидир. Ушбу блок ичига ёзилган код истисно холати юзага келса ҳам келмаса ҳам бажарилади. Конструкцияси:
try
{
//блок1
}
catch (Exception)
{
//истиснони қайта ишлаш коди
}
finally
{
//ҳар қандай ҳолатда ҳам бажарилиши лозим бўлган дастур //коди
}

finally блокидаги код ҳолатга мос равишда try ёки catch блокларидаги кодлар бажарилиб бўлингандан сўнг бажарилади.


Одатда ушбу блок ресурсларни бўшатиш учун ишлатилади. (Масалан файлни беркитиш.) finally блокини ичидан яна бошқа try-catch блокларидан фойдаланиш мумкин. Мисол:
/*10 ўлчамдаги бутун сонли массив берилган.
* Клавиатурадан массив индексини кўрсатувчи 2 та сон киритилсин ва
* массивнинг шу индексдаги элементлари йиғиндиси ҳисоблансин.
* Киритилган сонлар массив ўлчамидан катта бўлиб кетмаслигини таъминлаш
* учун try-catch блокидан фойдаланинг.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace try_catch


{
class Program
{
static void Main(string[] args)
{
int [] massiv=new int [10];
Random rnd=new Random();
for(int i=0;i<10; i++)
{
massiv[i]=rnd.Next(100);
Console.WriteLine("massiv[{0}]={1}",i,massiv[i]);
}
int a;
int b;
int sum = 0;
l0: Console.Write("Биринчи сонни киритинг:");
try { a = int.Parse(Console.ReadLine());}
catch (FormatException)
{
Console.WriteLine("Сиз сон киритмадингиз!");
goto l0;
}
l1: Console.Write("Иккинчи сонни киритинг:");
try {
b = int.Parse(Console.ReadLine());
}
catch(FormatException)
{
Console.WriteLine("Сиз сон киритмадингиз!");
goto l1;
}
try
{
sum=massiv[a]+massiv[b];
}
catch(IndexOutOfRangeException)
{
if(a>10 || a<0)
{
Console.WriteLine("Биринчи киритилган сон массив чегарасидан чикиб кетган!");
goto l0;
}
if(b>10 || b<0)
{
Console.WriteLine("Иккинчи киритилган сон массив чегарасидан чикиб кетган!");
goto l1;
}
}
finally
{
Console.WriteLine("Натижа: "+sum);
}
Console.ReadKey();
}
}
}
Листинг 16.3.1. Истисноли холат юзага келганда finally блокидан фойдаланиш.

Download 4,03 Mb.

Do'stlaringiz bilan baham:
1   ...   44   45   46   47   48   49   50   51   ...   102




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish