GetLogicalDrives() metodidan foydalanamiz. Quyida kompyuterda mavjud
barcha mantiqiy disklarni ro‘yxatini chiqaruvhi dastur keltirilgan.
class
Program
{
static
void
Main(
string
[] args) {
string
[] LogicalDrives =
Environment
.GetLogicalDrives();
foreach
(
string
a
in
LogicalDrives) {
Console
.WriteLine(a);
}
Console
.ReadKey();
} }
Dastur natijasi:
C:\
D:\
E:\
F:\
Keyingi misolda yuzaga keladigan xatoliklarni oldini olish uchun
System.Security.SecurityException metodidan foydalanamiz.
class
Program
{
[
STAThread
]
static
void
Main(
string
[] args)
{
GetLogicalDrives();
Console
.ReadLine();
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
336
}
static
void
GetLogicalDrives()
{
try
{
string
[] a =
System.IO.
Directory
.GetLogicalDrives();
foreach
(
string
b
in
a)
{
System.
Console
.WriteLine(b);
}
}
catch
(System.IO.
IOException
)
{
System.
Console
.WriteLine(
"xato"
);
}
catch
(System.Security.
SecurityException
)
{
System.
Console
.WriteLine(
"xato 1"
);
}
Console
.ReadKey();
}
}
2. Diskdagi kataloglar ro‘yxatini chiqarish uchun System.IO. Directory
sinfining GetDirectories() metodidan foydalanamiz. Quyida uning dasturi
keltirilgan.
class
Program
{
static
void
Main(
string
[] args)
{
try
{
string
[] a = Directory.GetDirectories(
@"d:\\"
);
Console
.WriteLine(
"hamma papkalar :{0}."
,
a.Length);
foreach
(
string
b
in
a)
{
Console
.WriteLine(b);
}
}
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
337
catch
(
Exception
e)
{
Console
.WriteLine(
"xato: {0}"
, e.ToString());
}
Console
.ReadKey();
}
}
Dastur natijasi: D diskdagi barcha kataloglarni ro‘yxatini chiqaradi.
3. Endi maska orqali diskdagi kataloglar ro‘yxatini chiqarishni ko‘rib chiqamiz.
Ya’ni quyida d diskdagi c harfi bilan boshlanuvchi barcha kataloglar ro‘yxatini
chiqaruvchi dastur keltirilgan.
class
Program
{
static
void
Main(
string
[] args)
{
try
{
string
[] a = Directory.GetDirectories(
@"d:\\"
,
"c*"
);
Console
.WriteLine(
"barcha c harfi bilan boshlangan
papkalar: {0}."
, a.Length);
foreach
(
string
b
in
a)
{
Console
.WriteLine(b);
}
}
catch
(
Exception
e)
{
Console
.WriteLine(
"Xato: {0}"
, e.ToString()); }
Console
.ReadKey();
}
}
Testlar
10. Ilova boshqarib bo‘lmaydigan S++ tilida yaratilgan bo‘lsa. Agar dinamik xotira tozalanmagan
bo‘lib, xotira yo‘qolishiga asos bo‘lsa, bunday xato nima deb ataladi?
e. Dasturiy xatoliklar
f. Foydalanuvchilar xatolari
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
338
g. Istisnolar
h. Tizim xatoligi
11. Mabodo paydo bo‘lgan istisnoni qayta ishlovchi (yoki ushlab turuvchi) kod bloki S# dasturlash
tilida qaysi kalit so‘zi yordamida namoyish qiladi?
e. try, catch, throw, finally
f. int, float, double
g. public, private, protected
h. for, while, foreach
12. Barcha istisnolar qaysi baza sinfdan yaratilgan?
e. System.Exception
f. System.Numerics
g. System.IO
h. System.LINQ
13. Data xususiyatining vazifasi qaysi javobda to‘g‘ri ko‘rsatilgan?
e. bu xususiyat faqat o‘qish uchun mo‘ljallangan bo‘lib, ma’lumotlarni olishga yordam
beradi.
f. bu xususiyat fayllardan xatolarni tuzatish va URL larni o‘rnatadi
g. bu faqatgina o‘qilishi mumkin bo‘lgan xossa bo‘lib, u oldindagi istisno yoki istisnolar haqida
ma’lumot olish uchun ishlatiladi. Oldindagi istisnolar yozib olinishi eng oxirgi istisnoni
konstruktorga uzatish orqali amalga oshiriladi
h. bu faqat o‘qish imkonini beruvchi xossa bo‘lib, matndagi berilgan xatoni qaytarib beadi. Xato
haqidagi xabar konstruktor parametridek o‘rnatiladi.
14. Agar siz xaqiqatdan ham zo‘r istisnolar sinfini qurmoqchi bo‘lsangiz unda u har taraflama .NET
talablariga to‘g‘ri kelmog‘i lozim. Bu talablar quydagilar:
8) Exception bo‘lishi kerak /ApplicationException;
9) [System.Serializable] atributi bilan belgilanishi kerak;
10) Konstruktor qurilishini aniqlash
11) Messagega tegishli bo‘lganligi haqidagi konstruktori bo‘lmog‘i lozim;
12) “Ichki xatolar” konstruktorini ishlatishi kerak;
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
339
13) System.IO nomlar fazosini kiritish kerak
14) Klasslarni public deb e’lon qilish kerak
e. 1,2,3,4,5
f. 3,4,5,6,7
g. 2,3,4,5,6
h. 1,2,3,4,7
15. Bu faqat o‘qish imkonini beruvchi xossa bo‘lib, matndagi berilgan xatoni qaytarib beadi. Xato
haqidagi xabar konstruktor parametridek o‘rnatiladi. Ushbu ta’rif qaysi xossaga tegishli?
e. Message
f. Source
g. StackTrace
h. TargetSite
16. Bu faqatgina o‘qish uchun mo‘ljallangan bo‘lib, o‘z ichida chaqiruvlar qatorini saqlaydi.bu qator
esa istisnolar shakllanishiga olib keladi. Bunday xususiyat juda foydaliligini tushunish qiyin
emas.ushbu ta’rif qaysi xossaga tegishli?
e. StackTrace
f. Message
g. Source
h. Inter Exception
17. Umuman olganda blok try operatorlar bo‘limini tashkil etadi. Ish davomida ular istisnolarni
tashkil etadi. Istisnolar aniqlansa boshqaruv qaysi blogikga o‘tadi?
e. catch
f. for
g. While
h. Throw
18. Bu faqatgina o‘qilishi mumkin bo‘lgan xossa bo‘lib, u oldindagi istisno yoki istisnolar haqida
ma’lumot olish uchun ishlatiladi. Oldindagi istisnolar yozib olinishi eng oxirgi istisnoni
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
340
konstruktorga uzatish orqali amalga oshiriladi ushbu ta’rif qaysi xossaga tegishli?
e. Inter Exception
f. Message
g. Source
h. StackTrace
|