Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
⊗pyPmExcInr 74 of 129 menu

Увод у выключныя сітуацыі ў Python

У гэтым раздзеле будуць разглядацца выключныя сітуацыі ў Python. Для пачатку трэба разбярэцца, што яны з сябе прадстаўляюць.

Пры напісанні якой-небудзь праграмы, распрацоўшчык няяўна разлічвае на тое, што ўсе выкарыстаныя праграмна-тэхнічныя механізмы будуць працаваць карэктна.

Гэта, аднак, не заўсёды так. Пры перадачы дадзеных па сетцы адбываецца абрыў сувязі і дадзеныя прыходзяць да нас у некарэктным выглядзе, ці ўвогуле не прыходзяць. Пры запісе файла аказваецца, што выдзеленае нам месца на цывільным дыску скончылася, і файл не можа запісацца. Пры чытанні файла аказваецца, што такога файла не існуе і нам не адкуль чытаць. Пры друку дадзеных на прынтары адбываецца абрыў кабеля, які злучае прынтар і камп'ютар.

Усе апісаныя сітуацыі маюць агульную сутнасць: адбываецца нейкі збой, які прыводзіць да немагчымасці ці бессэнсоўнасці завяршэння запланаванай аперацыі.

Бываюць таксама сітуацыі, у якой адбываецца нейкая памылка, якая не з'яўляецца збоем. Напрыклад, вы пытаецеся ў карыстальніка яго email, і ён уводзіць email у некарэктным фармаце. Зразумела, што наша праграма не можа працягваць апрацоўваць email, так як ён не карэктны. Але, тым не менш гэта - не выключная сітуацыя. Наша праграма можа сама выправіць сітуацыю: яна выведе паведамленне пра памылку і карыстальнік паўторыць свой увод.

На самай справе розніца паміж збоем і не збоем вельмі расплыўчатая. Падзея, якое адна праграма можа трактаваць як выключную сітуацыю, другая праграма можа трактаваць як нейкую памылку, з якой яна можа справіцца.

Крытэрый тут наступны: калі пры ўзнікненні праблемы ваша праграма можа працягваць выконваць тое, для чаго яна прызначана, то гэта не выключная сітуацыя, а калі не можа - то так, гэта выключэнне.

Напрыклад, у нас ёсць праграма, якая павінна спытаць email карыстальніка. Калі карыстальнік увёў email у некарэктным фармаце - гэта не збой. Гэта чаканая праблема і наша праграма будзе пытацца ў карыстальніка email столькі разоў, пакуль ён не ўвядзе яго карэктна.

Хай наша праграма, якая пытаецца email, павінна таксама адправіць гэты карэктны email праз інтэрнэт. Пры гэтым аказваецца, што інтэрнэт не працуе. Вось гэта ўжо праблема: праграма ніяк не зможа адправіць дадзеныя праз інтэрнэт, калі інтэрнэт не працуе. Праграма, тым не менш, можа працягнуць сваё выкананне: яна можа вывесці інфармацыю пра праблему, паўторыць спробу адпраўкі праз некаторы час, і так далей. Але гэтыя дзеянні ўжо не зусім тое, для чаго праграма была прызначана, так як асноўнае дзеянне - адпраўка email праграма зрабіць не зможа.

Зыходзячы з чаго, вельмі часта трактоўка якое паводзіны будзе лічыцца нармальным, а якое выключным залежыць ад задач, якія стаяць перад праграмістам.

byenru