Chyby v programování jsou nedostatky ve fungování aplikací. Běžně se označují jako „chyby“, proto termín „ladění“.

Jako vývojář zjistíte, že trávíte spoustu času opravováním chyb. Řada chyb, se kterými se setkáte, je běžných a jejich znalost vám pomůže v první řadě jim zabránit.

Tady je to, co potřebujete vědět o těchto třech typech programovacích chyb a jak se proti nim můžete chránit:

1. Chyby za běhu nebo spuštění

Jedná se o chyby, ke kterým dochází při provádění programu (tj. Za běhu). Mohou způsobit, že se program nespustí správně nebo se vůbec nespustí.

Závažné chyby za běhu způsobí zastavení provádění programu, zatímco nezávažné způsobí ukončení provádění, ale s nesprávnými výsledky.

Typickou runtime chybou je chyba dělení nulou. Dělení nulou má přinést nekonečný výsledek, ale bohužel jsme dosud nepřišli s datovou strukturou, která by toto množství dat ještě mohla ukládat.

Dělení nulou tedy vede k aritmetické výjimce v kompilátoru Java.

2. Logické chyby

Logické chyby jsou způsobeny chybným uvažováním. Je důležité si uvědomit, že tyto chyby nemusí nutně souviset s „chybou“, kterou jste udělali. Mohou se objevit, protože jste neuvažovali o určitém scénáři provedení.

Jsou nejobtížněji zvládnutelné. Je to proto, že kód s logickou chybou je platný program v jazyce, ve kterém je napsán. Proto nebude házet chybu kompilátoru. Jediným problémem je, že produkuje nesprávné výsledky.

Fatální logická chyba způsobí zastavení provádění programu, zatímco nefatální umožní spuštění programu, ale s nesprávnými výsledky.

Běžnou logickou chybou je chyba typu off-by-one. K tomu obvykle dochází při uvedení podmínky pokračování smyčky. Řekněme, že chcete vytisknout prvních pět čtvercových čísel.

Příbuzný: Nejčastější chyby v programování a kódování

Může se stát, že níže uvedený kód napíšete do smyčky for, která udává pouze první čtyři taková čísla.

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

Abyste se této chybě vyhnuli, můžete místo toho použít znak <=. Používání znaménka méně než nebo rovno je intuitivnější, a proto je méně pravděpodobné, že si poměníte své relační operace.

Další běžnou logickou chybou je vynechání obou složených závorek řídicího příkazu, a přesto tělo níže tvoří blok kódu, který je pod jeho kontrolou.

Podívejte se na níže uvedený příklad. Zkontroluje, zda je náhodné číslo liché nebo sudé, a poté vytiskne výstup.

importovat java.util. Náhodný;
veřejná třída OddEven {
public static void main (String [] args) {
Random numberGenerator = new Random ();
int randomNumber = numberGenerator.nextInt (10);
if ((randomNumber% 2) == 0)
System.out.println ("Zde je vaše šťastné číslo:" + randomNumber);
System.out.println ("Číslo" + randomNumber + ", které jste dostali, je sudé"); // řádek 11
}
}

Řádek oznámení 11. Vždy se spustí bez ohledu na to, zda je náhodné číslo, které máte, sudé. To by samozřejmě bylo logicky špatné, když číslo, které jste dostali, je liché.

Včetně obou System.out.println výroky mezi složenými závorkami {}, by se tomu vyhnuly.

Příbuzný: Kroky vývoje softwaru, které by měli všichni programátoři vědět

Další logická chyba, na kterou je třeba dávat pozor, není poskytnutí podmínky ukončení smyčky. Výsledkem bude nekonečná smyčka a váš program nikdy nedokončí provádění.

3. Chyby syntaxe nebo kompilace

Jedná se o chyby způsobené porušením jazykových pravidel Javy. Nazývají se také chyby kompilace nebo kompilace.

Jedná se o nejjednodušší chyby, které je třeba zpracovat, protože váš kompilátor je vždy nahlásí. Mnoho překladačů dokonce pokračuje a řekne vám řádek v kódu, ve kterém je chyba.

Odolnost proti chybám

Praktickým způsobem řešení problémů se softwarem je odstranění tolerance chyb zahrnutím zpracování výjimek. Můžeš použít Zkus chytit prohlášení k dosažení tohoto cíle.

Pokračovat v provádění programu bez ohledu na výjimku zachycenou v chytit blok, použijte Konečně prohlášení.

Syntaxe je:

zkuste {// Block to execute if there are no issues} 
chytit (výjimka e) {
// Blok pro řešení nalezených problémů
} konečně {// Blokovat a spustit po chycení
}

Viz příklad kódu níže:

importovat java.util. Náhodný;
veřejná třída RandomNumbers {
public static void main (String [] args) {
Random numberGenerator = new Random ();
Snaž se{
for (int counter = 10; počitadlo <= 100; counter ++) {
int randomNumber = numberGenerator.nextInt (10);
System.out.println (counter / randomNumber); } }
chytit (výjimka e) {
System.out.println ("Bylo zjištěno dělení nulou!");
}
Konečně{
System.out.println ("Byla získána nekonečná hodnota");}
}
}

Výše uvedený program generuje náhodné číslo mezi nulou a 10 a poté toto číslo používá k rozdělení hodnoty čítače mezi 10 a 100. Pokud dojde k dělení nulou, systém zachytí chybu a zobrazí zprávu.

Zlepšete se v kódování

Je dobrým zvykem přidávat komentáře ke svému kódu. To vám pomůže snadno prohledávat soubory, když máte chybu. Jeden malý, ale velmi důležitý krok k rozvoji silných postupů kódování.

Při správné praxi kódování byste měli být schopni vyhnout se běžným programovacím chybám.

E-mailem
Co je kódování a jak to funguje?

Zmatení ohledně kódování? Nerozumíte skriptování? Tady je to, co potřebujete vědět o stavebních blocích programování.

Přečtěte si další

Související témata
  • Programování
  • Jáva
  • Tipy pro kódování
O autorovi
Jerome Davidson (14 článků publikováno)

Jerome je spisovatel v MakeUseOf. Pokrývá články o programování a Linuxu. Je také nadšencem kryptoměn a neustále sleduje kryptoměnový průmysl.

Více od Jerome Davidsona

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!

Ještě jeden krok…!

V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.

.