⊗pyPmExcInr 74 of 129 menu

Ievads izņēmuma situācijās Python

Šajā sadaļā tiks aplūkotas izņēmuma situācijas Python. Vispirms jāsaprot, kas tās patiesībā ir.

Rakstot jebkādu programmu, izstrādātājs netieši rēķinās ar to, ka visi izmantotie programmatūras un tehniskie mehānismi darbosies korekti.

Tomēr tas ne vienmēr tā notiek. Pārsūtot datus pa tīklu, notiek savienojuma pārrauve un dati nonāk pie mums nekorektā formā, vai vispār nenonāk. Rakstot failu, izrādās, ka mums atvēlētā vieta cietajā diskā ir beigusies, un fails nevar ierakstīties. Lasot failu, izrādās, ka tāda faila nepastāv un mums nav no kurienes lasīt. Drukājot datus uz printera, notiek kabeļa pārrauve, kas savieno printeri un datoru.

Visām aprakstītajām situācijām ir kopīga būtība: notiek kāds traucējums, kas noved pie ieplānotās operācijas neiespējamības vai bezjēdzības pabeigt.

Ir arī situācijas, kurās notiek kāda kļūda, kas nav traucējums. Piemēram, jūs jautājat lietotājam viņa e-pastu, un viņš ievada e-pastu nekorektā formātā. Skaidrs, ka mūsu programma nevar turpināt apstrādāt e-pastu, jo tas nav korekts. Bet, tomēr šī - nav izņēmuma situācija. Mūsu programma var pati izlabot situāciju: tā izvadīs kļūdas ziņojumu un lietotājs atkārtos savu ievadi.

Patiesībā atšķirība starp traucējumu un ne traucējumu ir diezgan neskaidra. Notikums, ko viena programma var interpretēt kā izņēmuma situāciju, cita programma var interpretēt kā kādu kļūdu, ar kuru tā var tikt galā.

Kritērijs šeit ir šāds: ja, rodoties problēmai, jūsu programma var turpināt veikt to, kam tā ir paredzēta, tad tā nav izņēmuma situācija, bet ja nevar - tad jā, tā ir izņēmums.

Piemēram, mums ir programma, kurai jāvaicā lietotāja e-pasts. Ja lietotājs ievadīja e-pastu nekorektā formātā - tas nav traucējums. Tā ir sagaidāma problēma un mūsu programma vaicās lietotājam e-pastu tik reižu, kamēr viņš to neievada korekti.

Pieņemsim, ka mūsu programma, kas vaicā e-pastu, ir arī jāsaista šis korektais e-pasts pa internetu. Tajā pašā laikā izrādās, ka internets nedarbojas. Lūk, tā jau ir problēma: programma nekādā veidā nevarēs nosūtīt datus pa internetu, ja internets nedarbojas. Programma, tomēr, var turpināt savu izpildi: tā var izvadīt informāciju par problēmu, atkārtot mēģinājumu nosūtīt pēc kāda laika, un tā tālāk. Bet šīs darbības jau nav gluži tas, kam programma bija paredzēta, jo galvenā darbība - e-pasta sūtīšana - programma nevarēs izpildīt.

Pamatojoties uz to, ļoti bieži interpretācija, kāda uzvedība tiks uzskatīta par normālu, un kāda par izņēmumu, ir atkarīga no uzdevumiem, kas nostājušies programmētāja priekšā.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt