Napake pri programiranju so napake v delovanju aplikacij. Običajno jih imenujemo "napake", od tod tudi izraz "odpravljanje napak".

Kot razvijalec boste porabili veliko časa za odpravljanje napak. Številne napake, s katerimi se boste srečali, so pogoste in njihovo poznavanje vam bo v prvi vrsti pomagalo preprečiti.

Tukaj je tisto, kar morate vedeti o teh treh vrstah programskih napak in kako jih zaščititi:

1. Napake med izvajanjem ali izvajanjem

To so napake, ki se pojavijo, ko se program izvaja (tj. Med izvajanjem). Lahko povzročijo, da se program ne izvaja pravilno ali pa se sploh ne zažene.

Usodne napake v času izvajanja povzročijo, da se izvajanje programa ustavi, medtem ko tiste, ki niso smrtne, končajo izvajanje, vendar z nepravilnimi rezultati.

Tipična napaka med izvajanjem je napaka pri deljenju z nič. Delitev z nič naj bi prinesla neskončen rezultat, žal pa še nismo prišli do podatkovne strukture, ki bi lahko shranila to količino podatkov.

Zato deljenje z nič vodi do aritmetične izjeme v prevajalniku Java.

instagram viewer

2. Logične napake

Logične napake so posledica napačne argumentacije. Pomembno je omeniti, da te napake niso nujno posledica "napake", ki ste jo storili. Lahko se pojavijo, ker niste upoštevali določenega scenarija izvedbe.

Z njimi je najtežje ravnati. To je zato, ker je koda z logično napako veljaven program v jeziku, v katerem je napisana. Zato ne bo povzročil napake prevajalnika. Edino vprašanje je, da daje napačne rezultate.

Usodna logična napaka bo povzročila, da se izvajanje programa ustavi, nefatalna pa bo nadaljevala izvajanje programa, vendar z nepravilnimi rezultati.

Pogosta napaka v logiki je napaka, ki ni ena sama. Običajno se to zgodi pri navedbi pogoja nadaljevanja zanke. Recimo, da želite natisniti prvih pet kvadratnih številk.

Sorodno: Najpogostejše napake pri programiranju in kodiranju

Morda boste na koncu napisali spodnjo kodo v zanko for, ki daje samo prve štiri takšne številke.

za (int x = 1; x <5; x ++) {System.out.ln (x * x); }

Da bi se izognili takšni napaki, lahko namesto tega uporabite znak <=. Uporaba znaka za enak ali enak je bolj intuitiven, zato boste manj verjetno pomešali svoje relacijske operacije.

Druga pogosta logična napaka je izpustitev obeh oklepajev stavka nadzora, vendar telo spodaj tvori blok kode, ki je pod njegovim nadzorom.

Oglejte si spodnji primer. Preveri, ali je naključno število liho ali sodo, nato natisne izhod.

uvoz java.util. Naključen;
javni razred OddEven {
public static void main (String [] args) {
Naključno številoGenerator = novo Naključno ();
int randomNumber = numberGenerator.nextInt (10);
if ((randomNumber% 2) == 0)
System.out.println ("Tukaj je vaša srečna številka:" + randomNumber);
System.out.println ("Število" + randomNumber + ", ki ste ga dobili, je sodo"); // vrstica 11
}
}

Opomba 11. Izvede se vedno, ne glede na to, ali je naključno število, ki ste ga dobili, sodo. To bi bilo seveda logično narobe, če je številka, ki ste jo dobili, neparna.

Vključno z obema System.out.println izjave med oklepaji {}, bi se temu izognili.

Sorodno: Koraki za razvoj programske opreme, ki bi jih morali poznati vsi programerji

Druga logična napaka, na katero je treba paziti, ni zagotavljanje pogoja zaključka zanke. To bo povzročilo neskončno zanko in vaš program ne bo nikoli dokončal izvajanja.

3. Sintaksa ali napake v času prevajanja

Gre za napake, ki so nastale zaradi kršitev jezikovnih pravil Java. Imenujejo se tudi napake prevajanja ali časa prevajanja.

To so najlažje obravnavane napake, ker jih bo prevajalnik vedno prijavil. Mnogi prevajalniki celo povedo in vam povedo, v kateri vrstici v kodi je napaka.

Toleranca napak

Praktičen način reševanja težav s programsko opremo je odpravljanje napak z vključevanjem obravnave izjem. Lahko uporabiš poskusite..catch izjave, da bi to dosegli.

Za nadaljevanje izvajanja programa ne glede na izjemo, zajeto v ulov blok, uporabite končno izjavo.

Sintaksa je:

poskusite {// Blokiraj za izvedbo, če ni težav} 
ulov (izjema e) {
// Blokiraj za obravnavo najdenih težav
} končno {// Blokiraj za izvedbo po ulovu
}

Glejte spodnji primer kode:

uvoz java.util. Naključen;
javni razred RandomNumbers {
public static void main (String [] args) {
Naključno številoGenerator = novo Naključno ();
poskusite {
za (int števec = 10; števec <= 100; števec ++) {
int randomNumber = numberGenerator.nextInt (10);
System.out.println (counter / randomNumber); } }
ulov (izjema e) {
System.out.println ("Prišlo je do deljenja z ničlo!");
}
končno {
System.out.println ("Dobila je neskončno vrednost");}
}
}

Zgornji program ustvari naključno število med nič in 10 in nato s tem številom razdeli vrednost števca med 10 in 100. Če pride do deljenja z ničlo, sistem zazna napako in prikaže sporočilo.

Bodite boljši pri kodiranju

Dobro je dodati kodo komentarje. To vam bo pomagalo z lahkoto prečistiti datoteke, ko imate napako. Majhen, a zelo pomemben korak k razvoju močnih praks kodiranja.

Z dobrimi praksami kodiranja se lahko izognete pogostim programskim napakam.

E-naslov
Kaj je kodiranje in kako deluje?

Zmedeni glede kodiranja? Ne razumete skriptiranja? Tukaj je tisto, kar morate vedeti o gradnikih programov.

Preberite Naprej

Sorodne teme
  • Programiranje
  • Java
  • Nasveti za kodiranje
O avtorju
Jerome Davidson (14 objavljenih člankov)

Jerome je uslužbenec pri MakeUseOf. Zajema članke o programiranju in Linuxu. Je tudi navdušenec nad kripto in vedno spremlja kripto industrijo.

Več od Jeromea Davidsona

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.