⊗jsSpExcInr 137 of 294 menu

Erandolukordade sissejuhatus JavaScriptis

Praegu vaatleme erandolukordi JavaScriptis. Alustuseks teen ma mõne sissejuhatuse, kus on näited erandolukordadest üldiselt kõigis programmeerimiskeeltes, ja siis uurime, kuidas see on JavaScriptis.

Kui me kirjutame oma programme, eeldame me kaudselt et kõik meie poolt kasutatavad programmeerimistehnilised mehhanismid töötavad korrektselt.

See siiski alati nii ei ole. Andmete edastamisel võrgu kaupa tekib ühenduse katkemine ja andmed tulevad meile ebakorrektsel kujul või ei tule üldse. Faili kirjutamisel selgub, et meile eraldatud ruum kõvakettal on otsas ja faili ei saa kirjutada. Faili lugemisel selgub, et sellist faili ei eksisteeri ja meil pole kust lugeda. Andmete printimisel printeril katkeb kaabel, mis ühendab printerit ja arvutit.

Kõigil kirjeldatud olukordadel on ühine olemus: toimub mingi rike, mis viib võimatuse või mõttetuseni plaani järgse operatsiooni lõpuleviimisel.

Eksisteerivad ka olukorrad, kus toimub mingi viga, mis ei ole rike. Näiteks, te küsite kasutajalt tema emaili, ja ta sisestab emaili vales vormingus. On selge, et meie programm ei saa jätkata emaili töötlemist, kuna see pole korrektne. Kuid siiski ei ole see - erandiolukord. Meie programm saab ise olukorda parandada: see väljastab veateate ja kasutaja kordab oma sisestust.

Tegelikult on erinevus rikke ja mitte-rikke vahel üsna ebamäärane. Sündmus, mida üks programm võib tõlgendada kui erandiolukorda, võib teine programm tõlgendada kui mingit viga, millega see saab hakkama.

Kriteerium siin on järgmine: kui probleemi tekkimisel suudab teie programm jätkata täitmist seda, milleks see on mõeldud, siis see pole erandiolukord, aga kui ei suuda - siis jah, see on erand.

Näiteks, meil on programm, mis peab küsima kasutaja emaili. Kui kasutaja sisestas emaili vales vormingus - see ei ole rike. See on oodatav probleem ja meie programm küsib kasutajalt emaili nii mitu korda, kuni ta sisestab selle korrektselt.

Oletame, et meie programm, mis küsib emaili, peab ka saatma selle korrektse emaili läbi interneti. Sel juhul selgub, et internet ei tööta. See on juba probleem: programm ei saa kuidagi saata andmeid läbi interneti, kui internet ei tööta. Programm saab siiski jätkata oma täitmist: see saab väljastada teabe probleemist, korrata saatmiskatset mõne aja pärast, ja nii edasi. Kuid need tegevused ei ole täpselt see, milleks programm oli mõeldud, kuna põhitegevus - emaili saatmine - programm teha ei suuda.

Väga sageli sõltub sellest, kas tegemist on erandiolukorraga või mitte, programmeerimiskeelest. Paljudes keeltes, kui toimub jagamine nulliga - loetakse see erandiks (sest nulliga jagada ei saa), kuid JavaScriptis - ei loeta (JavaScriptis saab nulliga jagada).

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu