Синтаксис хатоликлари

Дастурчи дастурлаш тилининг ўзини ишлатишда хато қилиши мумкин. Масалан, дастур кодини унинг ёзилиши талабларига риоя қилмаган ҳолда ёзиш: ўзгарувчи номини рақам билан бошлаш, кераксиз жойга қўйилган нуқта, очилмай ёки ёпилмай қолган қавслар ва ҳоказо.

Бундай хатоликлар синтаксис хатоликлари деб аталади. Улар тил синтаксисининг бузилиши, тиниш белгиларининг тушириб қолдирилиши натижасида юзага келади. Пйтҳон интерпретатори нотўғри иборага дуч келганида, уни қандай талқин қилишни билмайди. Шу боисдан у дастурнинг бажарилишини тўхтатади ва хатолик юз берган жойни англатувчи тегишли хабарни кўрсатади.

  • ЭОЛ (ингл. Энд оф лине – қатор якуни) хатолиги синтаксис хатоликнинг бир тури бўлиб, одатда, қатор охирида қўштирноқ (биртиноқ)ни ёпиш тушириб қолдирилганда юзага келади.
  • ЭОФ (ингл. Энд оф фунcтион – функсия якуни) хатолиги эса функсия охирида қавсни ёпиш тушириб қолдирилганда юзага келади. ЭОФ хатолигининг муаммоли томони шундаки, Пйтҳон айнан қайси функсия ёпилмай қолганини кўрсата олмайди ва дастур якунига ишора қилади. Дастурчи дастур кодини синчиклаб кўздан кечириб чиқишига тўғри келади. Яна бир энг кўп йўл қойиладиган синтаксис хатоликларидан бири бу – “Индентатион Эррор”

хатолигидир. Пйтҳонда, вазиятга қараб, код қатор бошидан жой ташлаб ёки жой ташламасдан ёзилади. Агар асоссиз жой ташланса ёки аксинча, керакли жой ташланмаса, “Индентатионеррор”хатолиги юз беради. Ба’зи жойларда эса аксинча, бўш жой ташлаш ёддан кўтарилганлиги сабабли синтаксис хатолик юз беради. Масалан “иф-элиф-элсе” шартларининг, “фор”, “wҳиле” такрорлаш сиклларининг ёки “деф” функсиясининг тана қисмида бундай хатоликлар кузатилиб туради.

Истиснолар

Пйтҳон қоидаларига кўра, синтаксис хатолари, одатда, хатолик деб аталади. Аммо аксарият ҳолларда дастур синтаксис хатоси бўлмаса ҳам, ишга туширилганидан сўнг ба’зи хатоликларга дуч келади . Бундай хатоликлар истисно деб аталади. Дастур ишлаш жараёнида кўплаб истисноларга дуч келиши мумкин.

  • НамеЭррор – локал ёки глобал ўзгарувчи, функсия, обект номи нотўғри ёзилганда ёки мавжуд бўлмаган ўзгарувчи, функсия ёки обект чақирилганда келиб чиқувчи истисно.
  • ТйпеЭррор – функсия ёки қандайдир амалга нотўғри ма’лумот юборилганда юз берадиган истисно.
  • ВалуэЭррор – функсия тўғри турдаги қийматни юбориши натижасида юзага келадиган истисно.
  • Индехеррорянги дастурчилар кўп йўл қўядиган истисно. У рўйхат элементларига мурожаат қилишда, элементга рўйхат индексларида мавжуд бўлмаган индекс орқали мурожаат қилишда юзага келади.
  • Кейеррор – луғатга мавжуд бўлмаган калит орқали мурожаат қилиш.
  • МодулеНотФоундеррор – мавжуд бўлмаган модулни юклашда юз берадиган истисно.
  • Оверфлоwеррор - Арифметик амалнинг натижаси чоп этиш учун жуда катта бўлганида чақирилади.
  • ФлоатингПоинтеррор - Қўзғалувчи нуқтали ҳақиқий сонлар устида амаллар ажаришда хатолик юз берганда чақирилади.