Różnica między błędem a wyjątkiem w Javie

Autor: Laura McKinney
Data Utworzenia: 2 Kwiecień 2021
Data Aktualizacji: 6 Móc 2024
Anonim
Różnica między błędem a wyjątkiem w Javie - Technologia
Różnica między błędem a wyjątkiem w Javie - Technologia

Zawartość


„Throwable” działa jako rdzeń hierarchii błędów i wyjątków Javy. „Błąd” jest warunkiem krytycznym, którego kod programu nie może rozwiązać. „Wyjątek” to wyjątkowa sytuacja, którą można rozwiązać za pomocą kodu programu. Istotną różnicą między błędem a wyjątkiem jest to, że błąd jest spowodowany brakiem zasobów systemowych i wyjątek jest spowodowany przez twój kod. Przeanalizujmy inne różnice między błędem a wyjątkiem wraz z tabelą porównawczą.

  1. Wykres porównania
  2. Definicja
  3. Kluczowe różnice
  4. Wniosek

Wykres porównania

Podstawa do porównaniaBłądWyjątek
PodstawowyBłąd jest spowodowany brakiem zasobów systemowych.Przyczyną jest wyjątek z powodu kodu.
PoprawaBłąd jest nie do naprawienia.Wyjątek można odzyskać.
Słowa kluczoweNie ma sposobu, aby obsłużyć błąd przez kod programu.Wyjątki są obsługiwane za pomocą trzech słów kluczowych: „spróbuj”, „złap” i „wyrzuć”.
Konsekwencje
Po wykryciu błędu program zostanie nieprawidłowo zakończony.Po wykryciu wyjątku jest on odpowiednio zgłaszany i przechwytywany przez słowa kluczowe „throw” i „catch”.
Rodzaje Błędy są klasyfikowane jako niezaznaczone.Wyjątki są klasyfikowane jako zaznaczone lub niezaznaczone.
Pakiet W Javie błędy są zdefiniowane w pakiecie „java.lang.Error”.W Javie wyjątki są zdefiniowane w „java.lang.Exception”.
PrzykładOutOfMemory, StackOverFlow.Sprawdzone wyjątki: NoSuchMethod, ClassNotFound.
Niezaznaczone wyjątki: NullPointer, IndexOutOfBounds.


Definicja błędu

Błąd”Jest podklasą wbudowanej klasy„ Throwable ”. Błędy to krytyczne warunki, które występują z powodu braku zasobów systemowych i nie można ich naprawić za pomocą kodu programu. Błędy nie można odzyskać w żaden sposób, ponieważ nie można ich utworzyć, wyrzucić, złapać ani odpowiedzieć. Błędy są spowodowane katastrofalną awarią, której zwykle nie może naprawić Twój program.

Błędy są zawsze niezaznaczone, ponieważ kompilator nie ma żadnej wiedzy o jego wystąpieniu. Błędy zawsze występują w środowisku wykonawczym. Błąd można wyjaśnić za pomocą przykładu, program ma błąd przepełnienia stosu, błąd braku pamięci lub błąd awarii systemu, ten rodzaj błędu jest spowodowany przez system. Kod nie ponosi odpowiedzialności za takie błędy. Konsekwencją wystąpienia błędu jest nieprawidłowe zakończenie programu.

Definicja wyjątku

„Wyjątek” jest także podklasą wbudowanej klasy „Throwable”. Wyjątkami są wyjątkowe warunki występujące w środowisku wykonawczym. Większość przypadków wyjątków wynika z kodu naszego programu, ale wyjątki mogą być obsługiwane przez sam program, ponieważ wyjątki można odzyskać. Wyjątki są obsługiwane przy użyciu trzech słów kluczowych: „spróbuj”, „złap”, „wyrzuć”. Składnia pisania wyjątku jest następująca:


spróbuj {// wpisz tutaj swój kod} Złap (typ wyjątku) {// wpisz swój kod tutaj}

W powyższym kodzie kod zapisany w bloku try jest kodem, który chcesz monitorować pod kątem wyjątku. Jeśli wyjątek występuje w bloku try, jest on zgłaszany za pomocą słowa kluczowego „throw”. Zgłoszony wyjątek może zostać przechwycony przez blok „catch” powyższego kodu. „Typ wyjątku” to typ wyjątku, który wystąpił.

W prostych słowach możemy powiedzieć, że błędy powstałe z powodu niewłaściwego kodu nazywane są wyjątkami. Na przykład jeśli nie znaleziono żądanej klasy lub nie znaleziono żądanej metody. Tego rodzaju wyjątki wynikają z kodu w programie; system nie ponosi odpowiedzialności za tego rodzaju wyjątki. Wyjątki są klasyfikowane jako „zaznaczone” i „niezaznaczone”. Niezaznaczone wyjątki nie znają kompilatora, ponieważ występują one w czasie wykonywania, podczas gdy kompilator ma wiedzę o sprawdzonych wyjątkach, ponieważ są one znane kompilatorowi podczas kompilacji.

  1. Błąd występuje tylko wtedy, gdy zasoby systemowe są niewystarczające, a wyjątek powstaje, jeśli kod ma jakiś problem.
  2. Błąd nigdy nie może zostać odzyskany, podczas gdy wyjątek można odzyskać, przygotowując kod do obsługi wyjątku.
  3. Błąd nigdy nie może być obsłużony, ale kod może obsłużyć wyjątek, jeśli kod zgłaszający wyjątek jest zapisany w bloku try-catch.
  4. Jeśli wystąpi błąd, program zostanie nieprawidłowo zakończony. Z drugiej strony, jeśli wystąpi wyjątek, program wyrzuci wyjątek i jest obsługiwany za pomocą bloku try-catch.
  5. Błędy są typu niezaznaczonego, tj. Nie ma wiedzy o kompilatorach, podczas gdy wyjątek jest klasyfikowany jako sprawdzony i niezaznaczony.
  6. Błędy są zdefiniowane w pakiecie java.lang.Error, natomiast wyjątek to java.lang.Exception.

Wniosek:

Wyjątki stanowią wyniki błędów popełnionych w kodowaniu programu, a błędy wynikają z niewłaściwego funkcjonowania systemu