5-8 Маъруза Рекурсия
Амалий машғулот 3. Истисноларни қайта ишлаш
Download 110.5 Kb.
|
5-8 Maruza Рекурция(uz)
- Bu sahifa navigatsiya:
- Масаланинг қўйилиши
- CarlsDeadException va ArgumentOutOfRangeException
Амалий машғулот 3. Истисноларни қайта ишлашИшдан мақсад: С# дастурлаш тилида истиснолар ёки хатоликлар билан ишлаш, try, Catch, throw, finally блоклари устида турли амаллар бажариш, улардан фойдаланиш кўникмаларига эга бўлиш. Дастурда истиснолардан фойдалана олиш. Масаланинг қўйилиши: Тингловчи вариант бўйича берилган масалани С# дастурлаш тилида ишлаши ва керакли натижа олиши лозим. Ишни бажариш учун намуна Бир нечта catch блокларни ёзганимизда шу нарсани эътиборга олишимиз керакки истисно холат биринчи catch блок орқали қайта ишланади. Мисол тариқасида, биринчи catch блоки нима эканлигини кўрсатиш учун аввалги мисолга яна битта CarlsDeadException va ArgumentOutOfRangeException дан ташқари барча истисноларни тутиб олмоқчи бўлган catch блокини қўшамиз.
Бу истисноларни қайта ишлаш мантиғи компиляция босқичида хатоликка олиб келади. Муаммо шундаки, биринчи catch блоки System.Exception хатолигидан ташқари барча истисноларни қайта ишлай олади, CarlsDeadException va ArgumentOutOfRangeException ларни ҳам. Охирги 2та catch блоки имконсиздир. Битта эмпирик қоидани ёдда сақланг: catch блокларини шундай жойлаштириш керакки, биринчи catch энг махсус истисноларни, охирги catch эса умумийроқ истисноларни қайта ишлаши керак. Шундай қилиб, агар ихтиёрий истисноларни қайта ишлайдиган catch блокини аниқлайдиган бўлсак, у қуйидагича аниқланади:
Download 110.5 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling