7Wyjatki.pdf

(94 KB) Pobierz
8432167 UNPDF
Wyjątki
Tomasz Borzyszkowski
Wyjątki
podstawy
Wyjątek w Java jest obiektem, który opisuje sytuację błędną powstałą
w kodzie. Zaistnienie sytuacji błędnej w metodzie powoduje utworzenie
obiektu reprezentującego wyjątek i zgłoszenie go przez metodę, w
której błąd wystąpił. Następnie metoda może sama obsłużyć wyjątek
lub przesłać go do obsługi przez inne metody/obiekty.
Wyjątki mogą być zgłaszane przez maszynę wirtualną Javy lub przez
kod użytkownika. Wyjąki zgłaszane przez maszynę wirtualną są
związane z tzw. błędami fatalnymi , natomiast zgłaszane przez
użytkownika z błędami związamymi z logiką programu.
Składnia programu obsługującego wyjątki bazuje na pięciu słowach
kluczowych: try , catch , throw , throws i finally .
Monitorowany kod znajduje się w bloku try . Zgłoszenie wyjątku
wewnątrz bloku try powoduje powstanie obiektu-wyjątku i jego
ewentualne przejęcie przez odpowiedni blok catch .
O reszcie na kolejnych slajdach.
2
 
Wyjątki składnia
try {
// monitorowany blok kodu
}
catch ( ExceptionType1 exOB ){
// to się wykona, jeżeli zostanie zgłoszony
// wyjątek typu ExceptionType1
}
catch ( ExceptionType2 exOB ){
// to się wykona, jeżeli zostanie zgłoszony
// wyjątek typu ExceptionType2
}
finally {
// kod wykonywany po zakończeniu bloków
// try i catch; służy do zwalniania zasobów
}
3
 
Wyjątki typy
Zobacz : Exc{0,1}.java
Wszystkie wyjątki są podklasami standardowej klasy Throwable .
Wyjątki
Throwable
Exception
Error
Klasa Exception i potomne, służą do opisywania sytuacji błędnych,
które mogą być spowodowane przez kod użytkownika lub mogą być
przez kod użytkownika wykryte i obsłużone.
Ważną podklasą klasy Exception jest klasa RuntimeException .
Jest ona (i jej podklasy) odpowiedzialna za błędy takie jak:
dzielenie przez zero, indeks tablicy poza zakresem, itp.
Klasa Error i potomne, są używane przez maszynę wirtualną do
zgłaszania błędów fatalnych , takich jak: przepełnienie stosu, ....
4
8432167.001.png
try & catch
Zobacz : Exc{2,3,4,5}.java
Mechanizm wyłapywania wyjątków oferowany przez maszynę wirtualną
jest przydatny podczas testowania programu. Oddając wersję
ostateczną często chcemy sami obsłużyć wyjątek.
Obsługa wyjątków przez program pozwala programiście:
Przewidzieć jakich błędów można się spodziewać
Obsłużyć błędy w sposób nie powodujący przerwania pracy
programu
Aby samemu obsłużyć błąd powodujący przerwanie programu należy
umieścić go w bloku try , a następnie w bloku catch umieścić typy
wyjątków, na które chcemy reagować oraz związać z nimi kod
obsługujący zgłoszony wyjątek.
Należy pamiętać, że po obsłudze wyjątku przez blok try / catch
program nie wraca do komendy następnej w bloku try lecz przechodzi
do wykonania pierwszej instrukcji za blokiem try / catch .
5
8432167.002.png
Zgłoś jeśli naruszono regulamin