Java – Vead ja erindid (Ülesanne 7)

Vead Javas

Kõik me teeme vigu ja programmeerimises pole see üldse häbiasi. Vigu tuleb õppida mõistma. Kasutades näiteks Eclipse IDE programmi, siis antakse mõndadest teada juba trükkimise ajal, teised programmi kompileerimisel ja kolmandad kui töötavale programmile “ei meeldi” sisestatud andmed. Pärast veateate saamist algab vea otsimine, mida nimetatakse silumiseks (debugging). Kirjutamata reegel on see, et ühe vea parandamisel tekib kolm uut juurde :)

Javas tekkinud vead võiks põhimõtteliselt jagada kaheks:

  • compile time error
  • run time error

Compile time error

Siia alla kuuluvad vead, mida Java kompilaator ei suuda muuta masinkeelde. Näiteks trükivead, kus sisestad meetodi nime valesti, teed süntaksi vea – unustades semikooloni lisamata, algväärtustamata muutujad jms. Eclipse annab sellest mitmes kohas teada ning kui hiirega üle liikuda, siis reeglina pakutakse ka lahendust. Enne vigade parandamist ei lubata koodi kompileerida.

Run time error

Need vead tekivad programmi töötamise ajal ja katkestavad  programmi edasise töötamise. Näiteks üritad nulliga jagada, küsid massiivist elementi mida pole, soov avada faili mida pole jms. Eclipse kuvab veateate konsoolis.

Erindid

Eeltoodud näidet nulliga jagamisel tekkinud viga nimetatakse erindiks (exception). Ehk tegemist on pigem tõrkega, mida saab ennetada ning programmi töö saab jätkuda. Kasutame selleks try…catch plokki:

  • try – siia plokki lisa kood, mis võib tekitada veateadet
  • catch – käivitatakse see plokk, kui sinu kood viskab erindi.

Praegu püüab me erind kõik vead ja väljastab kõigile ühesuguse veateate. Kui sa tead, milline võib olla viga, siis saab seda ka täpsustada. Ja kui väga vaja, siis saad üldise veateate lõppu lisada ehk lisame näitesse näiteks kaks catch plokki

Esimesel juhul kasutasin erindi nime väljatrükkimist ja teisel puhul võtmesõna throw, mis kuvab täispika erindi teate.

Ülesanne 7

  • Loo lihtne alamprogramm, mis küsib kasutajalt kahte arvu ning üritad teha mingit aritmeetilist tehet.
  • Programm töötab kuni kasutaja on lisanud kenasti arvud. Kui kasutaja lisab arvude asemel kogemata teksti, siis annad sellest viisakalt teada ja töötad edasi (tsükkel). Kasuta vea tuvastamiseks erindeid.

Attachments2

Viimased postitused

Meist

metshein.com on pakkunud juba üle kümne aasta tasuta eestikeelseid infotehnoloogiaga seotud kursusi. Sama kurssi püütakse järgida ka edaspidi. Eesmärk muuta arvutiõpe võimalikult lihtsaks!

metshein.com: parim eestikeelne koolitusportaal

Autorist ja kontakt: kliki siia

Kontrolli tunnistust

Tööribale