OCA Wyjątki

Wyjątki

Stacktrace wyjątku jest zapisywany w momencie tworzenia wyjątku. Jeśli wyjątek jest utworzony i przekazany do innej metody która go rzuca wtedy wyświetlony stacktrace będzie odpowiadał miejscu w którym był tworzony nie rzucony.

toString() wyświetla nazwę wyjątku i jego tekst
getMessage() zwraca wiadomość
stacktrace jest wyświetlany przez printStackTrace().

Tylko ostatni z rzucanych wyjątków jest propagowany dalej. Rzucanie wyjątku w catch i kolejnego w finally skutkuje rzuceniem drugiego. W tej sytuacji jeśli to sprawdzany wyjątek to musi być zadeklarowany w sygnaturze.

throws w nazwie metody może być „na zapas” ale jeśli jest catch sprawdzanego wyjątku wyjątek musi być możliwy do rzucenia w try.
Jeśli wyjątek to Exception to powyższa zasada nie obowiązuje. Wtedy Exception jest traktowany jako RuntimeException bo może nim być.

Jeśli wywoływana jest nadpisana metoda której bazowa metoda rzuca wyjątek a nadpisująca nie wtedy referencja ma znaczenie – referencja do bazowej wymaga try catch; referencja do rozszerzającej nie.

Można łapać i deklarować RuntimeException.
Można łapać i deklarować Errory.

Źródła:
„OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808” Jeanne Boyarsky, Scott Selikoff
„JA+ V8 for Oracle Certified Associate – Java SE8 Programmer I” http://enthuware.com

Dodaj komentarz

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