naukaJavy.pl

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki
Home Kurs języka Java

Wyjątki

Email Drukuj

Wyjątek w języku Java to obiekt, który opisuje pewną sytuację błędną lub nieprawidłową – wyjątkową. Jest to obiekt odpowiedniego typu, tj. obiekt klasy Throwable lub jej dowolnej podklasy.

Ważną częścią każdej aplikacji jest sygnalizowanie oraz obsługa pojawiających się błędów. Wystąpienie błędu w aplikacji zaimplementowanej w języku Java sygnalizujemy poprzez rzucenie wyjątku. Obsługa błędów to tzw. łapanie wyjątków.

Wystąpienie sytuacji wyjątkowej sygnalizujemy poprzez rzucenie wyjątku, a więc instancji klasy która opisuje dany rodzaj błędu. W ramach biblioteki standardowej języka Java (Java SE) zaimplementowano wiele klas opisujących popularne typy wyjątków. Poniższy diagram przedstawia trzon hierarchii dziedziczenia dla tych klas.

Hierarchia klas wyjątków

Wyjątki dzielą się na dwa rodzaje: kontrolowane i niekontrolowane. Kontrolowane to takie które musimy deklarować i obsługiwać. Wyjątki niekontrolowane także możemy obsługiwać, ale nie musimy. Co to dokładnie oznacza dowiemy się niebawem.

Wyjątki niekontrolowane to instancje klas Error i RuntimeException oraz ich dowolnych podklas. Wyjątki kontrolowane to instancje klas Throwable i Exception oraz ich podklas, z wyłączeniem podklas klas Error i RuntimeException.

Wyjątki mogą być rzucane (zgłaszane) przez Wirtualną Maszynę Javy (JVM) oraz przez programistę. Najpopularniejszym wyjątkiem rzucanym przez JVM jest NullPointerException. Wyjątek ten rzucany jest przy próbie odwołania się do obiektu (np. próba uruchomienia metody) z użyciem referencji, która ma wartość null. NullPointerException jest podklasą klasy RuntimeException tak więc jest wyjątkiem niekontrolowanym – nie musimy go w żaden sposób deklarować czy obsługiwać.

Wyjątki możemy rzucać także sami. Robimy to, ilekroć chcemy zasygnalizować wystąpienie błędu. Możemy rzucać wyjątki standardowe, tj. instancje klas zdefiniowanych w bibliotece standardowej Java SE, ale możemy także definiować i rzucać wyjątki własne. Aby zdefiniować własny typ wyjątku wystarczy zaimplementować dowolną klasę będącą podklasą klasy Throwable lub dowolnej innej klasy definiującej wyjątek, np. klasy Exception czy RuntimeException. Wyjątki rzucamy używając słówka kluczowego throw, zgodnie ze składnią pokazaną poniżej:

throw {obiekt wyjątku};

gdzie {obiekt wyjątku} to jest rzeczywiście obiekt a nie nazwa klasy opisującej dany typ wyjątku. W typowej sytuacji obiekt ten tworzymy z użyciem operatora new. Przykład poniżej:

throw new Exception("Opis wyjątku");
 

Wiadomości

Vishal Sikka, CTO w firmie SAP zaapelował o autentyczne, pełne przekazanie zarządzania rozwojem języka i platformy Java w ręce zrzeszenia firm działającego na zasadzie równoprawności - zrzeszenia nie zdominowanego przez firmę SUN, czy obecnie Oracle (SUN został kupiony przez Oracle).

Jednocześnie zaapelował o udostępnienie kodu źródłowego Maszyny Wirtualnej Javy na zasadach open-source.

SAP zdecydowany jest zainwestować znaczne środki w rozwój Javy, jeśli tylko postulaty te zostaną spełnione – dodał.

Reklama

Co to jest

Apache Lucene Java to biblioteka open-source napisana w języku Java. Lucene służy do implementacji mechanizmów wyszukiwania pełnotekstowego – taki mały Google, który możemy mieć we własnej aplikacji.


© Wszelkie prawa zastrzeżone dla Mariusza Lipińskiego

kontakt: mariusz.lipinski@naukajavy.pl | strona domowa: www.mariuszlipinski.pl