Programovacie chyby sú chyby v fungovaní aplikácií. Bežne sa označujú ako „chyby“, preto sa používa výraz „ladenie“.

Ako vývojár budete tráviť veľa času opravovaním chýb. Mnohé chyby, s ktorými sa stretnete, sú bežné a ich znalosť vám pomôže predovšetkým predchádzať im.

Tu je to, čo potrebujete vedieť o týchto troch typoch programovacích chýb a ako ich môžete chrániť:

1. Chyby za behu alebo vykonania

Toto sú chyby, ktoré sa vyskytujú pri vykonávaní programu (tj. Za behu). Môžu spôsobiť, že sa program nespustí správne alebo sa nespustí vôbec.

Závažné chyby za behu spôsobia zastavenie vykonávania programu, zatiaľ čo nezávažné ukončenie vykonania, ale s nesprávnymi výsledkami.

Typickou runtime chybou je chyba delenia nulou. Delenie na nulu má priniesť nekonečný výsledok, bohužiaľ sme však zatiaľ neprišli s dátovou štruktúrou, ktorá by dokázala toto množstvo dát ešte uložiť.

Preto delenie nulou vedie v kompilátore Java k aritmetickej výnimke.

2. Logické chyby

Logické chyby sú spôsobené nesprávnym uvažovaním. Je dôležité poznamenať, že tieto chyby nemusia byť nevyhnutne výsledkom „chyby“, ktorú ste urobili. Môžu sa vyskytnúť, pretože ste neuvažovali nad určitým scenárom vykonania.

instagram viewer

Najťažšie sa s nimi manipuluje. Je to tak preto, lebo kód s logickou chybou je platný program v jazyku, v ktorom je napísaný. Preto to nebude hádzať chybu kompilátora. Jediným problémom je, že poskytuje nesprávne výsledky.

Fatálna logická chyba spôsobí zastavenie vykonávania programu, zatiaľ čo nefatálna umožní pokračovanie vykonávania programu, ale s nesprávnymi výsledkami.

Bežnou logickou chybou je chyba „off-by-one“. To sa zvyčajne vyskytuje pri určení podmienky pokračovania slučky. Povedzme, že chcete vytlačiť prvých päť štvorcových čísel.

Súvisiace: Najčastejšie chyby v programovaní a kódovaní

Môžete skončiť tak, že napíšete nižšie uvedený kód do svojej slučky for, ktorá dáva iba prvé štyri také čísla.

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

Ak sa chcete takejto chybe vyhnúť, môžete namiesto toho použiť znak <=. Používanie znaku menej ako alebo rovný na je intuitívnejšie, a preto je menej pravdepodobné, že zmiešate svoje relačné operácie.

Ďalšou bežnou logickou chybou je vynechanie obidvoch zložených závoriek riadiaceho príkazu, a napriek tomu telo dole vytvorí blok kódu, ktorý je pod jeho kontrolou.

Pozrite sa na príklad nižšie. Skontroluje, či je náhodné číslo nepárne alebo párne, a potom vytlačí výstup.

import java.util. Náhodné;
verejná trieda OddEven {
public static void main (String [] args) {
Náhodné čísloGenerátor = nový Náhodné ();
int randomNumber = numberGenerator.nextInt (10);
if ((randomNumber% 2) == 0)
System.out.println ("Tu je vaše šťastné číslo:" + randomNumber);
System.out.println ("Číslo" + randomNumber + ", ktoré ste dostali, je párne"); // riadok 11
}
}

Riadok oznámenia 11. Spustí sa vždy bez ohľadu na to, či je náhodné číslo rovnomerné. To by samozrejme bolo logicky nesprávne, keď by ste dostali nepárne číslo.

Vrátane oboch System.out.println príkazom medzi zloženými zátvorkami {}, by sa tomu dalo vyhnúť.

Súvisiace: Kroky pri vývoji softvéru by mali poznať všetci programátori

Ďalšou logickou chybou, na ktorú si treba dávať pozor, je neposkytnutie podmienky ukončenia slučky. Výsledkom bude nekonečná slučka a váš program nikdy nedokončí vykonávanie.

3. Chyby syntaxe alebo času kompilácie

Toto sú chyby spôsobené porušením jazykových pravidiel Java. Nazývajú sa tiež chyby kompilácie alebo kompilácie.

Toto sú najjednoduchšie chyby, ktoré sa dajú vyriešiť, pretože váš kompilátor ich bude vždy hlásiť. Mnoho kompilátorov dokonca pokračuje a oznámi vám riadok v kóde, v ktorom je chyba.

Odolnosť proti chybám

Praktickým spôsobom riešenia problémov so softvérom je odstránenie tolerancie chýb zahrnutím spracovania výnimiek. Môžeš použiť Skús chytiť na dosiahnutie tohto cieľa.

Pokračovať vo vykonávaní programu bez ohľadu na výnimku zachytenú v chytiť blok, použite konečne vyhlásenie.

Syntax je:

skúste {// Blokovať spustenie, ak nie sú problémy} 
úlovok (výnimka e) {
// Blok na riešenie nájdených problémov
} konečne {// Blokovať a vykonať po chybe
}

Pozrite si príklad kódu nižšie:

import java.util. Náhodné;
verejná trieda RandomNumbers {
public static void main (String [] args) {
Náhodné čísloGenerátor = nový Náhodné ();
skúsiť {
pre (int počitadlo = 10; počítadlo <= 100; counter ++) {
int randomNumber = numberGenerator.nextInt (10);
System.out.println (counter / randomNumber); } }
úlovok (výnimka e) {
System.out.println ("Zistilo sa delenie nulou!");
}
konečne {
System.out.println ("Bola získaná nekonečná hodnota");}
}
}

Vyššie uvedený program generuje náhodné číslo medzi nulou a 10 a potom pomocou tohto čísla rozdelí hodnotu počítadla medzi 10 a 100. Ak dôjde k deleniu nulou, systém zachytí chybu a zobrazí správu.

Zlepšite sa v kódovaní

Je dobrým zvykom pridávať do kódu poznámky. To vám pomôže ľahko prehľadať súbory, keď máte chybu. Jeden malý, ale veľmi dôležitý krok k rozvoju silných postupov kódovania.

Pri dobrých postupoch pri kódovaní by ste mali byť schopní vyhnúť sa bežným programovacím chybám.

Email
Čo je kódovanie a ako to funguje?

Zmätení z kódovania? Nerozumiete skriptovaniu? Tu je to, čo potrebujete vedieť o základných stavebných prvkoch programovania.

Prečítajte si Ďalej

Súvisiace témy
  • Programovanie
  • Java
  • Tipy na kódovanie
O autorovi
Jerome Davidson (14 publikovaných článkov)

Jerome je redaktorom štábu v MakeUseOf. Venuje sa témam o programovaní a Linuxe. Je tiež nadšencom kryptomien a neustále sleduje vývoj v kryptomene.

Viac od Jerome Davidsona

Prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!

Ešte jeden krok…!

V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.

.