Istisnolarni qayta ishlash Reja: Favqulodda vaziyatlarni qayta ishlash
Download 24.03 Kb.
|
1.Istisnolarni qayta ishlash (4)
- Bu sahifa navigatsiya:
- Istisnolarni boshqarish asoslari
System.Exception sinfi
C # da istisnolar sinflar shaklida taqdim etiladi. Barcha istisno sinflari Systemning bir qismi bo'lgan C # o'rnatilgan istisno sinfidan kelib chiqishi kerak. Shunday qilib, barcha istisnolar Exception sinfining kichik sinflari hisoblanadi. Exception -ning eng muhim kichik sinfi System.Exception sinfidir. Aynan mana shu sinfdan C # ish vaqti tizimi tomonidan kiritilgan barcha istisnolar kelib chiqadi. System.Exception klassi Exception sinfiga hech narsa qo'shmaydi; u oddiy istisnolar ierarxiyasining yuqori qismini belgilaydi. .NET Framework SystemException sinfidan kelib chiqadigan bir nechta o'rnatilgan istisnolarni belgilaydi. Masalan, nolga bo'linishni amalga oshirishga urinish DivideByZeroException -ni chiqaradi. C # da siz Exception sinfidan olingan, o'zingizning istisno sinflaringizni yaratishingiz mumkin. Istisnolarni boshqarish asoslari C # da istisnolarni qayta ishlashda to'rtta kalit so'z yordamida amalga oshiriladi: try, catch, throw va finally. Ular o'zaro bog'liq bo'lgan quyi tizimni tashkil qiladi, bunda kalit so'zlardan birini ishlatish boshqasini ishlatishni nazarda tutadi. Ularning ishlash printsipi quyida qisqacha tasvirlangan. Istisno holatlarda kuzatilishi kerak bo'lgan dastur bayonotlari try{ } blokiga kiritilgan. Agar try bloki ichida istisno yuzaga kelsa, istisno qo'yiladi. Bu istisno ilib olinishi va ko'rib chiqilishi mumkin operator kodidan foydalangan holda dastur kodida, catch kalit so'zi bilan belgilanadi. Tizimli istisnolar avtomatik ravishda ish vaqti tizimi tomonidan yaratiladi. Throw kalit so’zi istisnolarni qo’lda yaratish uchun ishlatiladi. try blokidan chiqqandan so'ng bajarilishi kerak bo'lgan har qanday kod, finally blokga joylashtiriladi. try va catch juftligidan foydalanish C # istisnolarini boshqarish ikki kalit so'zlarga asoslangan try va catch. Bu kalit so'zlar birgalikda ishlaydi va ularni alohida ishlatish mumkin emas. Quyida istisnolarni qayta ishlash uchun try / catch bloklarini aniqlashning umumiy shakli keltirilgan: try { // Xatolarni tekshirish uchun kodlar bloki. } catch (ExcepType1 exOb) { // ExcepType1 turidagi istisno ishlovchisi.. } catch (ExcepType2 exOb) { // ExcepType2 turidagi istisno ishlovchisi.. } . . . bu erda ExcerTure - bu istisno turi. Try blokida istisno chiqsa, u catch buyrug’i bilan ushlanadi, keyin esa istisno ko'rib chiqiladi. Istisno turiga qarab, tegishli catch bayonoti ham bajariladi. Shunday qilib, agar yuzaga kelgan istisno turlari va catch bayonotida ko'rsatilganlar bir xil bo'lsa, bu bayon bajariladi va qolganlari o'tkazib yuboriladi. Istisno aniqlanganda, exOb o'zgaruvchisi o'z qiymatini oladi. Aslida, exO o'zgaruvchisini ko'rsatish ixtiyoriydir. Shunday qilib, agar istisno ishlovchisi istisno ob'ektiga kirishni talab qilmasa, buni ko'rsatish shart emas, bu tez -tez sodir bo'ladi. Istisno turi istisnolarni bartaraf etish uchun etarli. Shuni yodda tutingki, agar istisno bo'lmasa, try bloki odatdagidek tugaydi va uning catch bayonotlari o'tkazib yuboriladi. Dasturning bajarilishi catch ning yakuniy bayonidan keyingi birinchi bayonotda davom etadi. Shunday qilib, catch bloki faqat istisno qilingan taqdirda bajariladi. Download 24.03 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling