JavaScript'теги келип чыккан учурларга киришүү
Азыр биз JavaScript'теги келип чыккан учурларды карап чыгабыз. Баштоо үчүн, мен кыскача киришүү жасайм, анда бардык программалоо тилдери үчүн келип чыккан учурлардын мисалдары болот, андан кийин JavaScript'те иштер кандай аткарыларын аныктайбыз.
Биз программаларды жазганда, биз колдонгон бардык программалык-техникалык механизмдер туура иштейт деп жашырынча эсептейбиз.
Бирок, бул ар дайым ушундай эмес. Тармак аркылуу маалыматтарды өткөргөндө, байланыш үзүлүп, маалыматтар бизге туура эмес келет, же алар жалпысынан келбейт. Файлды жазганда, катуу дискте бизге бөлүнгөн орун бүтүп калып, файл жазыла албай калганы аныкталат. Файлды окуганда, мындай файл жок экени аныкталып, биз окуй турган жерден окуй албай калабыз. Принтерге маалыматтарды басып чыгарганда, принтерди жана компьютерди туташтырган кабель үзүлүп калат.
Сүрөттөлгөн бардык учурлардын жалпы маңызы бар: белгилүү бир иш-аракеттин аякташын мүмкүн эмес же маанисиз кылуучу бир ката келип чыгат.
Ошондой эле, ката болуп, иш-аракет эмес келип чыккан учурлар да болот. Мисалы, сиз колдонуучудан анын электрондук почтасын сурасаңыз, ал электрондук почтаны туура эмес форматка келтирип жазат. Биздин программабыз электрондук почтаны иштете албайт, анткени ал туура эмес экени түшүнүктүү. Бирок, бул - келип чыккан учур эмес. Биздин программа өзү абалды оңдой алат: ал ката жөнүндө билдирме чыгарат жана колдонуучу өзүнүн киришин кайталайт.
Чынында, ката жана ката эместин ортосундагы айырма өтө бүдөмүк. Бир программа келип чыккан учур катары чечмелей турган окуяны, башка программа өзү көтөрө ала турган ката катары чечмелей алат.
Бул жердеги критерий төмөнкүдөй: эгерде кыйынчылык келип чыкканда, сиздин программаңыз ал неге ылайыкташтырылган болсо, ошону аткара берсе, анда бул келип чыккан учур эмес, ал эми аткара албаса - ооба, бул келип чыккан учур.
Мисалы, бизде колдонуучунун электрондук почтасын суроо керек болгон программа бар. Эгерде колдонуучу электрондук почтаны туура эмес форматка келтирип жазса - бул ката эмес. Бул күтүлгөн кыйынчылык жана биздин программабыз колдонуучудан электрондук почтасын ал туура жазганга чейин кайра-кайра сурай берет.
Биздин электрондук почтаны суроочу программабыз ушул туура электрондук почтаны интернет аркылуу жөнөтүүсү керек болсун. Бул учурда, интернет иштебей калганы аныкталсын. Мына бул кыйынчылык болуп калат: эгерде интернет иштебесе, программа маалыматтарды интернет аркылуу жөнөтө албайт. Программа, ошентсе да, аткарылышын уланта алат: ал кыйынчылык жөнүндө маалыматты чыгара алат, бир аз убакыттан кийин жөнөтүүнү кайталай алат жана башкалар. Бирок, бул аракеттер программа үчүн ылайыкташтырылган нерсе толугу менен эмес, анткени негизги аракет - электрондук почта жөнөтүүнү программа жасай албайт.
Өтө көп учурларда, келип чыккан учур же эместиги, программалоо тилине жараша болот. Көптөгөн тилдерде, эгерде нөлгө бөлүү келип чыкса - бул келип чыккан учур болуп эсептелет (анткени нөлгө бөлүүгө болбойт), бирок JavaScript'те - эсептелбейт (JavaScript'те нөлгө бөлсө болот).