Kakorkoli že pišemo našo programsko kodo, se bo v njej vedno našel prostor tudi za napake. Za te napake se je med programerji uveljavil izraz »bug«, ali v slovenskem jeziku hrošč, sam proces iskanja in odpravljanja napak pa »debugging« ali slovensko razhroščevanje. Za programe lahko trdimo, da so »buggy«, kadar v njih odkrijemo veliko programskih hroščev, vendar ni vedno le (novo) napisana programska koda vzrok, da se občasno (največkrat seveda nepredvidljivo!) pojavijo posamezni hrošči. Vzrok je lahko tudi skriti hrošč znotraj operacijskega sistema (namenoma brez imena) ali hrošč v prevajalniku, ki pravilno napisano kodo v višjem programskem jeziku (v našem primeru Visual Basic) napačno prevede v strojno kodo za izvajanje na procesorju. Dolžnost vsakega programerja je, da preizkusi delovanje napisane programske kode pod različnimi pogoji in z različnimi spremenljivkami ter popravi dele programske kode, kjer se hrošč nahaja ali pa vsaj obstaja ugodno okolje, v katerem »bi se lahko razvil«! Za lažje in uspešnejše delo pri odpravljanju napak imamo razhroščevalnik, ki je del Visual Studia in ga lahko kadarkoli uporabimo.

Sintaktične napake (VS sporočilo »Sintax error«) kar hitro odkrijemo, saj nam jih prevajalnik javi že med prevajanjem, ki se zaradi tega prekine in konča. Dokler vse napake niso odpravljene, prevajalnik našega programa ne more prevesti v neko delujočo strojno kodo, ker, po domače povedano, zaradi neupoštevanja sintakse jezika ne more ugotoviti, kaj bi bilo pravzaprav treba prevesti v izvršno kodo. Pravilna sintaksa pomeni dosledno upoštevanje strogih pravil izbranega programskega jezika in če se je držimo, prevajalniku nedvoumno sporočamo, kaj želimo z določeno programsko vrstico doseči in ta sporočilo nedvoumno razume in za to pripravi ustrezno programsko strojno kodo, ki se bo za to vrstico izvedla na procesorju računalnika.

Do napak med izvajanjem programske kode (VS sporočilo: »Runtime error«) največkrat pride v primerih, ko v programu nismo predvideli vseh mogočih kombinacij v zvezi s parametri in so zato rezultati včasih nepredvidljivi. Če smo na primer množili dve veliki števili, lahko pričakujemo, da bo prišlo do prekoračitve dosega izbrane spremenljivke. Ko takšno napako odkrijemo, bomo najbrž izbrali (vsaj za spremenljivko »Rezultat«) spremenljivko z večjim dosegom, na primer »Integer«.
Primer napake med izvajanjem prikazuje slika 2. Dokler izračun ne povzroči prekoračitve, program sicer normalno deluje brez prekinitev!
Osnove programiranja Visual Basic.NET v okolju Visual Studio (4)
2017_SE248_31

