Jaka jest różnica między błędami a wyjątkami w Javie

Jaka jest różnica między błędami a wyjątkami w Javie
Podczas programowania w Javie mogą wystąpić sytuacje, w których deweloper spotyka różne ograniczenia. Te wąskie gardła mogą być w formie „błędy" Lub "wyjątki". Poprzednie zatrzymują funkcje kodu, powstrzymując w ten sposób programista do kontynuowania kodu. Można jednak uniknąć wyjątków, aby zaoszczędzić czas i kłopot.

W tym artykule omówiono różnice między błędami Java i wyjątkami.

Jaka jest różnica między błędami a wyjątkami w Javie?

„„Błędy”W Javie odpowiada krytycznym przypadkom, których kod nie może być poradzi. „„Wyjątki”, W drugim przypadku można wykryć i zaspokoić w kodzie, aby zapewnić usprawnienie kodu:

Błąd Wyjątek
Błąd nie można odzyskać ani obsługiwać. Wyjątki można obsługiwać za pośrednictwem „próbuj złapać" blok.
Błędy nie są znane przez kompilator. Wyjątki mogą lub nie mogą być zidentyfikowane przez kompilator.
Błędy mogą być składniowe lub logiczne. Można je niezaznaczyć lub sprawdzić.

Demonstracja „błędu składni”

Po pierwsze, przeglądajmy występowanie „składnia" błąd:

int a = 2
System.na zewnątrz.println (a);

W tym kodzie po prostu zainicjuj liczbę całkowitą bez określenia półkolonu ”;”I wyświetl to.

Wyjście

Omówiony kod spowoduje zarejestrowanie wyświetlanych „błąd składni”Z powodu brakującego półkolistego.

Rozwiązanie

Jak zaobserwowano, przez umieszczenie „;”, Znika błąd skierowany.

Demonstracja „błędu logicznego”

Omówmy teraz wygląd „logiczny" błąd:

Klasa rodzic
public void display ()
System.na zewnątrz.println („Linuxhint!");

Klasa dziecko rozszerza rodzica
public void display ()
wyświetlacz();
System.na zewnątrz.println („Programowanie Java!");

Klasa publiczna Erordemo
public static void main (string args [])
Dziecko obj = nowe dziecko ();
obj.wyświetlacz();

W tym fragmencie kodu zastosuj stopnie poniżej przedstawione:

  • Utwórz klasę nadrzędną o nazwie „Rodzic”I gromadzą funkcję„wyświetlacz()”W nim wyświetlanie dostarczonej wiadomości.
  • W następnym kroku utwórz klasę dziecięcą o nazwie „Dziecko”Dziedziczenie klasy nadrzędnej za pośrednictwem„rozszerza”Słowo kluczowe.
  • W tej klasie zastąp funkcję identyczną z klasą nadrzędną, aby uzyskać dostęp do jej funkcji.
  • Wreszcie w „główny”, Utwórz obiekt klasy dziecięcej i odwołać funkcję zastąpioną, która wyświetli„błąd”Ponieważ nie jest referencyjne.

Wyjście

W tym wyjściu można zauważyć, że wyświetlone ograniczenie zostało wyświetlone. „„Przepełnienie stosu„Błąd jest zwykle spowodowany nieskończoną rekurencją.

Rozwiązanie

W tym wyniku można sugerować, że kojarząc „„Super”Słowo kluczowe, zamieszanie między identyczną funkcją klasy dziecka i klasy nadrzędnej jest eliminowane, a więc błąd znika.

Demonstracja „wyjątku”

Omówmy teraz poniższy przykład podający twarz i obsługę „wyjątek”:

próbować
int a = 2;
int b = a/0;
System.na zewnątrz.println (b);

catch (arytmeticexception e)
System.na zewnątrz.println (e.getMessage ());

W tym bloku kodu:

  • Najpierw określ „próbować" blok. W tym bloku zwróć podział zainicjowanych liczb całkowitych, tak że „nieskończoność”Jest zwrócony.
  • To działanie powoduje zwrócenie wyjątku.
  • Aby poradzić sobie z tym wyjątkiem, zaspokoić prawdopodobny wyjątek w „złapać" blok.
  • W tym bloku wyświetl komunikat wyjątku za pomocą „getMessage ()" metoda.

Wyjście

Na podstawie tego wyjścia można przeanalizować, że wyjątkowy wyjątek jest odpowiednio obsługiwany.

Wniosek

„„Błędy„W Javie nie można obsłużyć ani rozwiązać przez kod, podczas gdy„Wyjątki”Można wykryć i obsługiwać, co powoduje usprawnienie kodu. Błędy stają się wąskim gardłem w kontynuowaniu funkcji, podczas gdy wyjątków można uniknąć. W tym blogu omówiono różnice między błędami i wyjątkami w Javie.