Menu

PrzeprogramujSię

Dlaczego nie zacząć tworzyć tej magii samemu? Magii programowania. Dlaczego nie podjąć wyzwania wymagającego samorozwoju i zmiany kursu w życiu. PrzeprogramujSię będzie właśnie o drodze w osiąganiu celu jakim jest nauka programowania.

[JAVA] Wyjątki

przeprogramujsie

Wyjątki (ang. exceptions) możliwe błędy występujące w trakcie działania programu. 

Wystąpienie sytuacji wyjątkowej (błędu) przerywa normalny tok wykonywania programu - wykonywana jest instrukcja throw, która przekazuje sterowanie do skojarzonego z nim bloku catch. Sterowanie przekazywane jest zgodnie z łańcuchem wywołań metod, aż do momentu znalezienia bloku catch odpowiedzialnego za obsługę wyjątku. Poszukiwania zaczyna od bieżącej metody. Jeśli blok nie jest dostępny sterowanie przekazywane jest do metody, która wywołała bieżącą funkcję. W tej metodzie szukany jest blok catch. Jeśli blok catch nie zostanie znaleziony, przekazuje sterowanie do metody, która wywołała tę metodę itd. 

Poniższy rysunek pokazuje hierarchię dziedziczenia klasy Throwable i jej najważniejszych podklas
a) dla Exception:

je0401

*Rysunek pochodzi ze strony http://docstore.mik.ua/orelly/java/exp/ch04_05.htm

b) dla Error::je0402
*Rysunek pochodzi ze strony http://docstore.mik.ua/orelly/java/exp/ch04_05.htm

 Klasą wspólną dla wszystkich wyjątków jest Throwable. Jej subklasami są Exception oraz Error.

Klasa Error - Poważne błędy generowane m.in. w przypadku błędów w JVM. Tego typu błędy zdarzają się rzadko, są poważne i nie należy ich wychwytywać.

Klasa Exceptions -  Posiada wiele podklas jednak zasadniczo dzielą sie na dwa typy:
- kontrolowane (checked) możliwe do zweryfikowania na etapie kompilacji. Obsłużonie w kodzie programu powstrzyma zakończenie działania aplikacji,
- niekontrolowane(unchecked) - błędy możliwe do zweryfikowania na etapie uruchomienia programu - nie muszą one być jawnie obsługiwane w kodzie programu.

Runtime Exceptions - Wyjątki które mogą zostać wygenerowane podczas pracy programu. Kompilator nie informuje i nie wymaga ich wychwytywania.

 

© PrzeprogramujSię
Blox.pl najciekawsze blogi w sieci