⊗jsSpExcInr 137 of 294 menu

JavaScriptдаги истисноларга кириш

Ҳозир биз JavaScriptдаги истисно вазиятларини кўриб чиқамиз. Бошлаш учун мен умумман барча дастурлаш тиллари учун истисно вазиятлари мисоллари келтирилган кириш сўзни бажараман, сўнгра JavaScriptда ишлар қандай олиб боришини кўриб чиқамиз.

Биз дастурларимизни ёзганда, биз қўллаган барча дастур-техник механизмлар тўғри ишлашини бир марталикда хисоблаймиз.

Бирок, бу ҳаммиша шундай эмас. Тармок орқали маълумот узатилганда, алоқа узилиши ва маълумотлар бизга нотўғри кўринишда келади ёки умуман келмайди. Файлни ёзганда, қatti дискда биз учун ажратилган жой тугагани маълум булади ва файл ёзилмай қолади. Файлни ўқиганда, бундай файл мавжуд эмаслиги ва ўқиш учун бизда манба йўқлиги маълум булади. Принтерга маълумот босилганда, принтер ва компьютерни туташтирадиган кабель узилиб қолади.

Тавсирланган барча вазиятлар умумий мўҳтавийга эга: белгиланган амалиётни тугатиш имконсизлигига ёки маъносизлигига олиб келадиган маълум бир узлиш рўй беради.

Шунингдек, узлиш бўлмаган маълум бир хатолик юз берадиган вазиятлар ҳам мавжуд. Масалан, сиз фойдаланувчидан унинг emailини сўрайсиз ва у emailни нотўғри форматда киритади. Тушунарлики, бизнинг дастуримиз emailни қайта ишлай олмайди, чунки у тўғри эмас. Аммо, шу билан бирга бу - истисно вазият эмас. Бизнинг дастуримиз ўзи вазиятни түзета олади: у хатолик ҳақида хабар чиқаради ва фойдаланувчи ўз киритишни такрорайди.

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

Бу ердаги мезон куйидагича: агар муаммо юз берганда сизнинг дастурингиз унинг мақсади бўлган ишни бажаришни давом эттира олса, бу истисно вазият эмас, агар давом эттира олмаса - ҳа, бу истиснодир.

Масалан, бизда фойдаланувчининг emailини сўрайдиган дастур бор. Агар фойдаланувчи emailни нотўғри форматда киритган бўлса - бу узлиш эмас. Бу кутілган муаммо ва бизнинг дастуримиз фойдаланувчидан уни тўғри киритгунча қанча марта бўлмасин emailни сўрайди.

Фарз қилайлик, бизнинг emailни сўрайдиган дастуримиз шунингдек бу тўғри emailни интернет орқали жўнатиши керак. Бу пайтда, интернет ишламаётгани маълум булади. Мана бу энди муаммо: агар интернет ишламаса, дастур интернет орқали маълумотларни жўната олмайди. Шу билан бирга, дастур ўз ишини давом эттира олади: у муаммо ҳақида маълумот чиқаради, бир оз вақт ўтгач жўнатиш уринишини такрорлаши мумкин ва ҳоказо. Аммо бу ҳаракатлар айнан дастур мақсади бўлган нарса эмас, чунки асосий ҳаракат - email жўнатишни дастур бажара олмайди.

Жуда кўп ҳолларда, истисно вазият ёки йўқлиги дастурлаш тилига боглик. Кўпгина тилларда, агар тўсатдан нолга бўлинш рўй берса - бу истисно ҳисобланади (чунки нолга бўлиб бўлмайди), лекин JavaScriptда - ҳисобланмайди (JavaScriptда нолга бўлиш мумкин).

swruendeuzl