⊗jsSpExcInr 137 of 294 menu

Муқаддима ба ҳолатҳои истисноӣ дар JavaScript

Акнун мо ҳолатҳои истисноиро дар JavaScript баррасӣ мекунем. Барои оғоз ман як муқаддимае мекунам, ки дар он намунаҳое аз ҳолатҳои истисноӣ барои ҳамаи забонҳои барномасозӣ хоҳад буд, ва баъд мефаҳмем, ки кор дар JavaScript чӣ гуна аст.

Вақте ки мо барномаҳои худро менависем, мо пинҳонӣ ҳисоб мекунем, ки ҳамаи механизмҳои барномавӣ-техникӣ, ки аз ҷониби мо истифода мешаванд, дуруст кор хоҳанд кард.

Аммо ин ҳамеша чунин нест. Дар вақти интиқоли маълумот аз тариқи шабака пайвасти алоқа вайрон мешавад ва маълумот ба таври нодуруст ба мо мерасад, ё умулан намерасад. Дар вақти навиштани файл маълум мешавад, ки ҷои муайянкардаи мо дар диски сахт тамом шудааст, ва файл наметавонад сабт шавад. Дар вақти хондани файл маълум мешавад, ки чунин файле вуҷуд надорад ва мо чизе барои хондан надорем. Дар вақти чоп кардани маълумот ба принтер кабели пайвасткунандаи принтер ва компютер вайрон мешавад.

Ҳамаи ҳолатҳои тавсифшуда мазмуни умумӣ доранд: як хатогие рӯй медиҳад, ки боиси нокуноқӣ ё беҳудагии анҷоми амалиёти банақшагирифта мегардад.

Ҳолатҳое низ ҳастанд, ки дар онҳо як хатогие рӯй медиҳад, ки хатогии техникӣ нест. Масалан, шумо аз корбар email-и ӯро мепурсед, ва ӯ email-ро дар шакли нодуруст ворид мекунад. Равшан аст, ки барномаи мо наметавонад идома диҳад корард кардани email, зеро он дуруст нест. Аммо, бо вуҷуди ин ин - ҳолати истисноӣ нест. Барномаи мо худаш метавонад ҳолатро ислоҳ кунад: он паёме дар бораи хатогӣ бармеоварад ва корбар воридкунии худро такрор мекунад.

Дар асл фарқи байни хатогии техникӣ ва ғайритехникӣ хеле номуайян аст. Воқеае, ки як барнома метавонад онро ҳамчун ҳолати истисноӣ тафсир кунад, барномаи дигар метавонад онро ҳамчун як хатогие тафсир кунад, ки он метавонад бо он мувофиқат кунад.

Меъёри инҷо чунин аст: агар пас аз пайдоиши машқулият барномаи шумо метавонад идома диҳад он чизеро, ки барои он пешбинӣ шудааст, иҷро кунад, пас ин ҳолати истисноӣ нест, ва агар наметавонад - пас ҳа, ин истисно аст.

Масалан, мо барномае дорем, ки бояд email-и корбарро бипурсад. Агар корбар email-ро дар шакли нодуруст ворид карда бошад - ин хатогии техникӣ нест. Ин мушкилии интизоршаванда аст ва барномаи мо аз корбар email-ро он қадар марҳала мепурсад, то ӯ онро дуруст ворид накунад.

Бигзор барномаи мо, ки email мепурсад, бояд ин email-и дурустро тавассути интернет бифиристад. Дар ин ҳолат маълум мешавад, ки интернет кор намекунад. Ин аллакай мушкилӣ аст: барнома ҳар гуна наметавонад маълумотро бифиристад тавассути интернет, агар интернет кор накунад. Барнома, бо вуҷуди ин, метавонад идома диҳад иҷрои худ: он метавонад маълумотро дар бораи мушкилӣ барояд, такрори кӯшиши фиристодан тавассути баъзе фосила, ва ғайра. Аммо ин амалҳо аллакай амалиёти асосӣ нестанд, ки барнома барои он пешбинӣ шуда буд, зеро амалиёти асосӣ - фиристодани email барнома карда наметавонад.

Хеле вақтҳо ин, ки оё ҳолати истисноӣ аст ё нест, ба забони барномасозӣ вобаста аст. Дар бисёр забонҳо, агар ногаҳон тақсим ба сифр рӯй диҳад - ин ҳолати истисно ҳисобида мешавад (чунки ба сифр тақсим кардан мумкин нест), аммо дар JavaScript - ҳисобида намешавад (дар JavaScript ба сифр тақсим кардан мумкин аст).

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан