Hyrje në Situatat e Jashtëzakonshme në Python
Në këtë seksion do të shqyrtohen situatat e jashtëzakonshme në Python. Për fillim duhet kuptuar se çfarë përfaqësojnë ato.
Gjatë shkrimit të një programi, zhvilluesi në mënyrë implicite supton se të gjithë mekanizmat programore-teknikë të përdorur do të punojnë si duhet.
Kjo, megjithatë, nuk është gjithmonë kështu. Gjatë transmetimit të të dhënave përmes rrjetit ndodh një ndërprerje e lidhjes dhe të dhënat na vijnë në formë të pasaktë, ose nuk vijnë fare. Gjatë shkrimit të një skede dëshmohet se hapësira e alokuar për ne në hard disk ka mbaruar, dhe skedari nuk mund të shkruhet. Gjatë leximit të një skedari dëshmohet se një skedar i tillë nuk ekziston dhe ne nuk kemi nga ta lexojmë. Gjatë shtypjes së të dhënave në printer ndodh një ndërprerje e kabllit që lidh printrin dhe kompjuterin.
Të gjitha situatat e përshkruara kanë një thelb të përbashkët: ndodh një dështim, i cili çon në pamundësinë ose pakuptueshmërinë e përfundimit të operacionit të planifikuar.
Ka edhe situata, në të cilat ndodh ndonjë gabim, që nuk është dështim. Për shembull, ju e pyesni përdoruesin për email-in e tij, dhe ai e shënon email-in në një format të pasaktë. Është e qartë se programi ynë nuk mund të vazhdojë të përpunojë email-in, pasi ai nuk është i saktë. Por, megjithatë kjo - nuk është situatë e jashtëzakonshme. Programi ynë vetë mund të korrigjojë situatën: ai do të shfaqë mesazhin e gabimit dhe përdoruesi do të përsërisë shtypjen e tij.
Në fakt ndryshimi midis dështimit dhe jo dështimit është mjaft i paqartë. Një ngjarje, e cila një program mund ta trajtojë si situatë të jashtëzakonshme, një program tjetër mund ta trajtojë si ndonjë gabim, me të cilin ai mund të përballojë.
Kriteri këtu është si vijon: nëse me shfaqjen e problemit programi juaj mund të vazhdojë të kryejë atë për çka është krijuar, atëherë kjo nuk është situatë e jashtëzakonshme, por nëse nuk mund - atëherë po, ky është përjashtim.
Për shembull, ne kemi një program, i cili duhet të pyesë për email-in e përdoruesit. Nëse përdoruesi e ka shënuar email-in në format të pasaktë - ky nuk është dështim. Ky është problem i pritur dhe programi ynë do të pyesë përdoruesin për email aq herë, sa ai të mos e ketë shënuar atë në mënyrë korrekte.
Le të themi se programi ynë, i cili pyet për email, duhet gjithashtu të dërgojë këtë email të saktë përmes internetit. Në këtë rast dëshmohet, se interneti nuk punon. Kjo tashmë është problem: programi nuk do të jetë në gjendje në asnjë mënyrë të dërgojë të dhënat përmes internetit, nëse interneti nuk punon. Programi, megjithatë, mund të vazhdojë ekzekutimin e tij: ai mund të shfaqë informacionin mbi problemin, të përsërisë përpjekjen e dërgimit pas një kohe, e keshtu me radhë. Por këto veprime nuk janë më krejtësisht ajo për çka programi ishte krijuar, pasi veprimi kryesor - dërgimi i email-it programi nuk do të jetë në gjendje ta kryejë.
Bazuar në këtë, shumë shpesh interpretimi se cili sillim do të konsiderohet normal, dhe cili i jashtëzakonshëm varet nga detyrat, që qëndrojnë përpara programuesit.