6- ma’ruza. O‘rnatilgan tizimlarga uzilish ish tartibini joriy etish
Download 386.83 Kb.
|
6-maruza uzilishlar
, ArrayIndexOutOfBounds Exception, ClassNotFoundException lardan foydalaniladi. Pastda bu sinfning asosiy qismi ko‘rsatilgan (e’tiboringizni shunga qaratishingiz lozimki, ba’zi bir a’zolar virtualdir va bundan xulosa qilish mumkinki, ular boshqa sinflardan tashkil topgan):
7.1 -jadval: Exceptionning asosiy xususiyatlari:
Oddiy misol Biz tartib bilan qayta ishlangan istisnolarni foydali tomonini ko‘rsatish uchun shunday sinf tashkil qilishimiz kerakki, ular istisno holatlarda generatsiya qiladi. Yangi konsol ilova proektini yaratamiz va unda 2 ta Sar va Radio sinfi ajratamiz, o‘rtasini “imeet” bilan bog‘laymiz. Radio sinfida yakka usul aniqlangan bo‘lib, u radiopriyomnikning yoqish va o‘chirishga javob beradi.
Radio sinfini yoqish orqali to‘ldirilganda shu narsa ko‘riladiki, foydalanuvchi oldindan ko‘rilgan yuqori tezlikni oshiradi, motor ishdan chiqadi, Car obektini ishchi bo‘lmagan holatga olib keladi. Bundan tashqari, car sinfi berilgan tezlik uchun bir necha xususiyatga ega, berilgan avtomobildan foydalanuvchi “drujestvennogo nazvaniya”, shu bilan birga car obekti yangi holatini o‘rnatuvchilar uchun har xil konstruktorlar.
Istisnolarni qayta ishlash strukturasi static void Main(string[args]) {Console.WriteLine(“*****Simple Exception Example *****”); Console.WriteLine(“=> Creating a car and stepping on it!”); Car myCar=new Car(“Zippy”,20); myCar.CrankTunes(true); for(int i=0;i<10;i++) myCar.Accelerate(10); Console.ReadLine(); } Keying kiritilgan kod natijasi: ***** Simple Exception Example ***** =>Creating a car and stepping on it! Jamming… =>CurrentSpeed=30 =>CurrentSpeed=40 =>CurrentSpeed=50 =>CurrentSpeed=60 =>CurrentSpeed=70 =>CurrentSpeed=80 =>CurrentSpeed=90 =>CurrentSpeed=100 Zippy has overheated! Zippy is out of order… Umumiy istisnoning generatsiyasi Funksional Car sinfi borligida istisno generatsiyasining oddiy usulini endi ko‘rib chiqamiz. Accelerate() ning joriy tadbiq qilinishi xatolik haqida oddiy ma’lumot beradi. Agar chaqiruvchi kod avtomobilni maksimal tezlikka ko‘tarishga intilsa. Istisnolarni Tugatish Accelerate() metodi qanchalik istisnolarni generatsiya qilish qobiliyatiga ega bo‘lsa ham, chaqiruvchi kod uni qayta ishlashga tayyor bo‘lishi kerak, ya’ni u kutilmaganda pado bo‘lganda. Istisnolarni generatsiya qiluvchi metodni chaqirishda try/catch blogi ishlatilishi kerak. Istisno obektini tugatgandan so‘ng Uning boshqa a’zolariga detal asosidagi informatsiya muammosi sifatida murojaat qilish mumkin. Bu detallar asosida nima ish qilish sizga bog‘liq. Bularni maxsus xisobot fayllarida saqlash yoki Windows hodisalar jurnalida yozish mumkin. // Handle the thrown exception. public class MyClass { public static void main(String[ ] args) { try { int[] myNumbers = {1, 2, 3}; System.out.println(myNumbers[10]); } catch (Exception e) { System.out.println("Something went wrong."); } } Umuman olganda blok try operatorlar bo‘limini tashkil etadi. Ish davomida ular istisnolarni tashkil etadi. Istisnolar aniqlansa boshqaruv catch blogiga o‘tadi. Boshqa tomondan agar ichki joylashuvdagi try istisnoga kelmasa, catch blogi to‘liq tashlab o‘tiladi va hammasi o‘z joyida qoldiriladi. Quyida berilgan dastur uchun testdagi kirish natijalari ko‘rsatiladi: Nazorat savollari Istisnolar va xatoliklar ta’rifini keltiring. Dasturiy ta'minotni tuzatish texnikasi. Semantik dasturlash xatolar katalogi Mantiqiy ifodalarni noto'g'ri shakllantirish va ishlatish. Mantiqiy analizatorlar. Download 386.83 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling