Exceptions – wyjątki

Wyjątek jest to obiekt który ma za zadanie ujawnienie nieprawidłowości w kodzie. Dzięki niemu możemy zabezpieczyć aplikacje przed nie przewidzianym zachowaniami.

Wszystkie wyjątki są uporządkowane zgodnie z hierarchią dziedziczenia klas wyjątków:

Hierarchia wyjątków.

Klasą wspólną dla wszystkich wyjątków jest Throwable która dzieli się na Error oraz Exception. Natomiast klasa Exception dzieli się na dwie grupy: checked exceptions i unchecked exceptions. Podział ten oznacza że wyjątki unchecked nie są sprawdzane w czasie kompilacji. Natomiast wyjątki typu checked muszą zostać obsłużone przez programistę kopilator Javy tego wymaga.

Wracając do wyjątków typu: Error są to wyjątki z grupy niekontrolowanych (unchecked exceptions). Nie mamy wpływu na jego występowanie i nie muszą być jawnie obsługiwane w kodzie. Wyjątki tego typu dotyczą np. błąd systemu operacyjnego.

Wyjątki z grupy Exception -> RynTime Exception również należą do grupy niekontrolowanych. Jeśli więc nasz wyjątek dziedziczy po RuntimeException, to nie ma potrzeby ich przechwytywania. Najczyściej są to błędy logiczne (zarezerwowane bardziej do użytku programistów). Ich przechwycenie w bloku try-catch jest opcjonalne. Mogą one również zostać „wyrzucone” . Najpopularniejszymi tego typu wyjątkami są:

  • NullPointerException
  • ArithmeticException
  • NumberFormatException
  • IlligalArgumentException
  • IndexOutOfBoundsException
  • InputMismatchException.

Ostatnią grupą są wyjątki z grupy kontrolowanych: checked exceptions . Są to błędy które można naprawić, np. użytkownik podał ścieżkę do nieistniejącego pliku (możemy poprosić, żeby podał jeszcze raz), IOException.

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *