Olulised mõisted ja sissejuhatus
Veateated
Mis siis juhtub, kui tuleb veateade ja minu kirjutatud programm ei lähe tööle?
Laias laastus on veateateid kahte sorti:
- Syntax errors: need on vead, mis tulevad tavaliselt välja juba siis, kui programm ei ole veel päris käima pandud. Nimelt Thonny kontrollib enne su koodi üle, et kas see on korrektselt kirjutatud, kas kõik käsud on tema jaoks arusaadavad, kas kõik reavahetused, sulud, jutumärgid, koolonid jms on õigetes kohtades. Kui mitte, annab ta Syntax errori (ehk nö grammatika vea, kirjutamise vea teate) ja märgib punase kastikesega ligikaudse koha koodis, kus Pythoni arvates viga baseerub.
- Runtime errors: need on sellised vead, mis tulevad alles siis välja, kui programm on saadud juba käima panna. Näiteks kui ma kirjutaksin käsureale nii:
print("Tere" + 5), siis kood on grammatiliselt õigesti kirjutatud, kuid tegelikult Python sellist tehet teha ei oska ning annab veateate. Proovi, milline see veateade välja näeb!
Miks oskab Python peale hakata print("Tere" * 5)-ga aga print("Tere" + 5) peale annab veateate?
Nii, siin mõtle natuke, see on koht, kus tuleb loogika mängu panna!
....
Vastus! Põhimõtteliselt võin ma seda võrrelda olukorraga kui mul on üks pliiats ja ma korrutan seda viiega, siis ma saan viis pliiatsit (teen koopiad), kuid kui mul on pliiats ja liidan 5 juurde, tekib esiteks küsimus, mida ma juurde liidan, kas kartuleid? Kuna tekstile liidetakse juurde arv, siis on see sama kui pliiatsitele kartulite liitmine. Kes ütleb, mis siis kokku tuli, kas kartulid või pliiatsid või kartulpliiatsid?
Pea meeles, et kunagi ei saa programmeerimises liita tekstile juurde arve ilma et sa eelnevalt arvu tekstiks muudaksid või vastupidi. Selle muutmisest aga räägime mõni peatükk hiljem.Pea ka seda meeles, et veateated on väga loomulikud asjad. Ilma veateadeteta ei saa läbi ükski programmeerija, isegi mitte see, kes on 30a programmerija olnud. Veateadetaga harjumiseks ja nende tähenduste tõlgendamiseks soovitan sul külastada Pythoni veateadete lehekülge ja seda veidi uurida: http://docs.python.org/dev/tutorial/errors.html