Erorile de programare sunt defecte în modul în care funcționează aplicațiile. Acestea sunt denumite în mod obișnuit „bug-uri”, de unde și termenul „depanare”.
În calitate de dezvoltator, vă veți petrece mult timp rezolvând erori. O serie de erori pe care le veți întâlni sunt frecvente, iar cunoașterea acestora vă va ajuta să le preveniți în primul rând.
Iată ce trebuie să știți despre aceste trei tipuri de erori de programare și cum puteți proteja împotriva lor:
1. Runtime sau erori de execuție
Acestea sunt erori care apar atunci când se execută un program (adică în timpul rulării). Acestea pot face ca un program să nu se execute corect sau chiar să nu ruleze deloc.
Erorile fatale de execuție determină oprirea executării programului în timp ce cele non-fatale finalizează execuția, dar cu rezultate incorecte.
O eroare de execuție tipică este o eroare de divizare la zero. Divizarea la zero ar trebui să producă un rezultat infinit, dar, din păcate, nu am venit cu o structură de date care să poată stoca acea cantitate de date.
Prin urmare, împărțirea la zero duce la o excepție aritmetică în compilatorul Java.
2. Erori logice
Erorile logice sunt cauzate de un raționament defectuos. Este important să rețineți că aceste erori nu se datorează neapărat unei „greșeli” pe care ați făcut-o. Acestea pot apărea deoarece nu ați luat în considerare un anumit scenariu de execuție.
Sunt cele mai greu de manevrat. Acest lucru se datorează faptului că codul cu o eroare logică este un program valid în limba în care este scris. Prin urmare, nu va arunca o eroare a compilatorului. Singura problemă este că produce rezultate incorecte.
O eroare logică fatală va determina oprirea executării programului în timp ce una non-fatală va permite executarea programului să continue, dar cu rezultate incorecte.
O eroare logică obișnuită este o eroare off-by-one. Acest lucru se întâmplă în mod normal atunci când se afirmă o condiție de continuare a buclei. Spuneți că doriți să imprimați primele cinci numere pătrate.
Legate de: Cele mai frecvente greșeli de programare și codificare
S-ar putea să ajungeți să scrieți codul de mai jos în bucla dvs. pentru, care oferă doar primele patru astfel de numere.
pentru (int x = 1; x <5; x ++) {System.out.ln (x * x); }
Pentru a evita o astfel de eroare, puteți folosi în schimb semnul <=. Utilizarea semnului mai mic decât sau egal este mai intuitivă și, prin urmare, este mai puțin probabil să vă amestecați operațiunile relaționale.
O altă eroare logică comună este aceea de a lăsa ambele paranteze ale unei instrucțiuni de control și totuși corpul de mai jos formează un bloc de cod care se află sub controlul său.
Uită-te la exemplul de mai jos. Verifică dacă un număr aleatoriu este impar sau par, apoi imprimă o ieșire.
import java.util. Aleatoriu;
public class OddEven {
public static void main (String [] args) {
Random numberGenerator = nou Random ();
int randomNumber = numberGenerator.nextInt (10);
if ((randomNumber% 2) == 0)
System.out.println ("Iată numărul dvs. norocos:" + Număr aleatoriu);
System.out.println ("Numărul" + Număr aleatoriu + "pe care l-ați obținut este par"); // linia 11
}
}
Linia de aviz 11. Se va executa întotdeauna indiferent dacă numărul aleatoriu obținut este egal. Desigur, acest lucru ar fi logic greșit atunci când numărul pe care l-ați obținut este impar.
Inclusiv pe ambele System.out.println declarații între acolade {}, ar fi evitat acest lucru.
Legate de: Etape de dezvoltare software pe care toți programatorii ar trebui să le cunoască
O altă eroare logică de care trebuie să ne uităm nu este furnizarea unei condiții de terminare a buclei. Acest lucru va avea ca rezultat o buclă infinită și programul dvs. nu va termina niciodată executarea.
3. Sintaxă sau erori de timp de compilare
Acestea sunt erori cauzate de încălcarea regulilor de limbaj Java. Se mai numesc și erori de compilare sau de compilare.
Acestea sunt cele mai ușoare erori de gestionat, deoarece compilatorul dvs. le va raporta întotdeauna. Mulți compilatori chiar merg mai departe și vă spun linia din codul dvs. eroarea este activată.
Toleranță la erori
O modalitate practică de a rezolva problemele legate de software este de a utiliza toleranța la erori, incluzând gestionarea excepțiilor. Poți să folosești încearcă să prinzi declarații pentru a realiza acest lucru.
Pentru a continua cu executarea programului, indiferent de excepția surprinsă în captură blocați, utilizați in cele din urma afirmație.
Sintaxa este:
încercați {// Blocați pentru a executa dacă nu există probleme}
catch (Excepția e) {
// Blocați pentru a gestiona problemele găsite
} în cele din urmă {// Blocați pentru a executa după capturare
}
Vedeți exemplul de cod de mai jos:
import java.util. Aleatoriu;
public class RandomNumbers {
public static void main (String [] args) {
Random numberGenerator = nou Random ();
încerca{
for (contor int = 10; contor <= 100; contor ++) {
int randomNumber = numberGenerator.nextInt (10);
System.out.println (counter / randomNumber); } }
catch (Excepția e) {
System.out.println ("S-a întâlnit divizarea la zero!");
}
in cele din urma{
System.out.println ("Valoare infinită obținută");}
}
}
Programul de mai sus generează un număr aleatoriu între zero și 10, apoi folosește acel număr pentru a împărți o valoare a contorului între 10 și 100. Dacă se întâlnește împărțirea la zero, sistemul detectează eroarea și afișează un mesaj.
Obțineți mai bine la codificare
Este o practică bună să adăugați comentarii la codul dvs. Acest lucru vă va ajuta să vă piepteniți cu ușurință fișierele atunci când aveți o eroare. Un pas mic, dar foarte important pentru dezvoltarea unor practici de codare puternice.
Cu bune practici de codare, ar trebui să puteți evita greșelile obișnuite de programare.
Confuz cu codificarea? Nu înțelegeți scriptul? Iată ce trebuie să știți despre elementele de bază ale programării.
Citiți în continuare
- Programare
- Java
- Sfaturi de codificare
Jerome este scriitor de personal la MakeUseOf. El acoperă articole despre programare și Linux. Este, de asemenea, un entuziast criptografic și ține mereu la curent industria cripto.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Încă un pas…!
Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.