A programozási hibák az alkalmazások működésének hibái. Ezeket általában "hibáknak" nevezik, ezért a "hibakeresés" kifejezés.

Fejlesztőként sok időt fordíthat hibajavításra. Számos hiba, amellyel találkozni fog, gyakori, és ezek ismerete elsősorban megelőzheti őket.

Az alábbiakról kell tudnia ezt a három típusú programozási hibát és azt, hogy miként védekezhet velük szemben:

1. Futásidejű vagy végrehajtási hibák

Ezek olyan hibák, amelyek akkor fordulnak elő, amikor egy program futtat (azaz futás közben). Előfordulhat, hogy egy program nem megfelelően fut, vagy egyáltalán nem fut.

Végzetes futásidejű hibák miatt a program végrehajtása leáll, míg a nem végzetesek végrehajtása befejeződik, de helytelen eredménnyel.

Tipikus futásidejű hiba a nullával való felosztás. A nullával való felosztás állítólag végtelen eredményt hoz, de sajnos még nem jött létre olyan adatstruktúra, amely ekkora mennyiséget képes tárolni.

Ezért a nullával való felosztás számtani kivételhez vezet a Java fordítóban.

2. Logikai hibák

A logikai hibákat hibás érvelés okozza. Fontos megjegyezni, hogy ezek a hibák nem feltétlenül az Ön által elkövetett „hibából” származnak. Előfordulhatnak, mert nem vett figyelembe egy bizonyos végrehajtási forgatókönyvet.

Ezeket a legnehezebb kezelni. Ez azért van, mert a logikai hibával rendelkező kód érvényes program az általa írt nyelven. Ezért nem dob fordítói hibát. Az egyetlen kérdés, hogy helytelen eredményeket produkál.

Végzetes logikai hiba miatt a program végrehajtása leáll, míg a nem végzetes hibás eredményekkel folytatja a program végrehajtását.

Gyakori logikai hiba egyenként hiba. Ez általában akkor történik, amikor megadjuk a hurok-folytatás feltételét. Mondja el, hogy ki akarja nyomtatni az első öt négyzetszámot.

Összefüggő: A leggyakoribb programozási és kódolási hibák

Végül beírhatja az alábbi kódot a for ciklusába, amely csak az első négy ilyen számot adja meg.

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

Az ilyen hiba elkerülése érdekében használhatja a <= jelet. A kisebb vagy egyenlő jel használata intuitívabb, és ezért kevésbé valószínű, hogy összekeveri a relációs műveleteket.

Egy másik gyakori logikai hiba a vezérlő utasítás mindkét zárójelének elhagyása, és az alábbi törzs mégis az általa ellenőrzött kódblokkot alkotja.

Nézze meg az alábbi példát. Ellenőrzi, hogy egy véletlenszerű szám páratlan vagy páros-e, majd kinyomtat egy kimenetet.

import java.util. Véletlen;
nyilvános osztály OddEven {
public static void main (String [] érvel) {
Random numberGenerator = új Random ();
int randomNumber = számGenerator.nextInt (10);
if ((randomNumber% 2) == 0)
System.out.println ("Itt van a szerencsés számod:" + randomNumber);
System.out.println ("A kapott" + randomNumber + "szám páros"); // 11. sor
}
}

11. értesítési sor. Mindig végrehajtja, függetlenül attól, hogy a véletlenszerű szám páros-e. Ez természetesen logikailag helytelen lenne, ha a kapott szám páratlan.

Beleértve mindkettőt System.out.println zárójelek közötti állítások {}, ezt elkerülhette volna.

Összefüggő: Szoftverfejlesztési lépések, amelyeket minden programozónak tudnia kell

Egy másik logikai hiba, amelyre figyelni kell, nem biztosítja a hurok befejezésének feltételét. Ez végtelen ciklust eredményez, és a program soha nem fejezi be a végrehajtást.

3. Szintaxis vagy fordítási idő hibák

Ezek olyan hibák, amelyeket a Java nyelvi szabályainak megsértése okozott. Összeállítási vagy fordítási idejű hibának is nevezik őket.

Ezeket a hibákat a legkönnyebben kezelhetjük, mert a fordító mindig jelenteni fogja őket. Sok fordító tovább megy, és elmondja a kódban azt a sort, amelyben a hiba van.

Hibatűrés

A szoftveres kérdések kezelésének gyakorlati módja a hibatűrés említése a kivételkezelés beépítésével. Te tudod használni próbáld..fogd nyilatkozatok ennek elérésére.

A programfuttatás folytatása, függetlenül a fogás blokkolja, használja a végül nyilatkozat.

A szintaxis a következő:

próbáld meg {// blokkolni a végrehajtáshoz, ha nincs probléma} 
fogás (e kivétel) {
// Blokk a talált problémák kezeléséhez
} végül {// Letiltás a fogás után végrehajtandó
}

Lásd az alábbi kód példát:

import java.util. Véletlen;
RandomNumbers {nyilvános osztály
public static void main (String [] érvel) {
Random numberGenerator = új Random ();
próbáld ki{
for (int számláló = 10; számláló <= 100; számláló ++) {
int randomNumber = számGenerator.nextInt (10);
System.out.println (számláló / randomNumber); } }
fogás (e kivétel) {
System.out.println ("Nullával való felosztás megtörtént!");
}
végül{
System.out.println ("Végtelen értéket kapott");}
}
}

A fenti program véletlen számot generál nulla és 10 között, majd ezt a számot felhasználva elosztja a számláló értékét 10 és 100 között. Ha nulla osztással találkozunk, a rendszer elkapja a hibát és üzenetet jelenít meg.

Jobb a kódolásnál

Jó gyakorlat megjegyzéseket fűzni a kódjához. Ez segít abban, hogy könnyen átfésülje a fájlokat, ha hibája van. Egy apró, de nagyon fontos lépés az erős kódolási gyakorlatok kifejlesztése felé.

A jó kódolási gyakorlatokkal el kell tudni kerülni a gyakori programozási hibákat.

Email
Mi a kódolás és hogyan működik?

Zavart a kódolás miatt? Nem érted a szkripteket? Itt van, amit tudnia kell a programozás építőköveiről.

Olvassa el a következőt

Kapcsolódó témák
  • Programozás
  • Jáva
  • Kódolási tippek
A szerzőről
Jerome Davidson (14 cikk megjelent)

Jerome a MakeUseOf munkatársa. A programozásról és a Linuxról szóló cikkeket ismerteti. Ő is kriptográfus, és mindig tartja a fülét a kriptográfia területén.

Jerome Davidsontól többet

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!

Még egy lépés…!

Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.

.