Java Obsluga wyjatkow, usuwanie bledow i testowanie kodu.pdf
(
576 KB
)
Pobierz
Java. Obsługa wyjątków, usuwanie błędów i testowanie kodu
IDZ DO
PRZYK£ADOW
Y ROZDZIA£
SPIS TRECI
Java. Obs³uga wyj¹tków,
usuwanie b³êdów
i testowanie kodu
KATALOG KSI¥¯EK
KATALOG ONLINE
Autor: Stephen Stelting
T³umaczenie: Adam Bochenek
ISBN: 83-7361-796-5
Tytu³ orygina³
u:
Robust Java
Format: B5, stron: 376
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
W ka¿dej aplikacji mog¹ wyst¹piæ b³êdy.
Przygotuj siê na to pisz¹c odpowiedni¹ obs³ugê wyj¹tków
• Poznaj techniki programowania, dziêki którym Twoje aplikacje
stan¹ siê odporne na b³êdy
• Naucz siê przewidywaæ b³êdy i zapobiegaæ ich wystêpowaniu
• Zabezpiecz aplikacje przez skutkami wyst¹pienia b³êdów stosuj¹c
odpowiednie wzorce projektowe
¯aden kod nie jest idealny — nawet najbardziej dowiadczony programista pope³nia
b³êdy. Tym, co w takich przypadkach wyró¿nia dowiadczonego programistê jest fakt,
¿e jego aplikacje posiadaj¹ mechanizmy pozwalaj¹ce na obs³ugê tych b³êdów.
Dziêki nim program nie zawiesi siê ani nie „pogubi” ¿adnych danych. Oczywicie, aby
napisaæ odpowiedni¹ obs³ugê wyj¹tków, nale¿y poznaæ ich typy oraz mechanizmy ich
powstawania. Niezbêdna jest równie¿ znajomoæ wzorców projektowych oraz narzêdzi
do testowania kodu.
W ksi¹¿ce „Java. Obs³uga wyj¹tków, usuwanie b³êdów i testowanie kodu” znajdziesz
wszystkie te informacje. Dowiesz siê, jak zaimplementowaæ obs³ugê wyj¹tków
i poprawiæ jakoæ kodu ród³owego. Poznasz modele wyj¹tków i nauczysz siê zarz¹dzaæ
mechanizmami ich obs³ugi na poziomie aplikacji i pojedynczych modu³ów. Przeczytasz
tu tak¿e o wzorach projektowych zapewniaj¹cych prawid³ow¹ obs³ugê wyj¹tków.
• Koncepcje obs³ugi wyj¹tków
• Obs³uga wyj¹tków w aplikacjach wielow¹tkowych
• Przyczyny wystêpowania wyj¹tków w ró¿nych elementach jêzyka Java
• Programowanie rozproszone w Javie
• Wyj¹tki w aplikacjach J2EE
• Wzorce projektowe
• Testowanie kodu i usuwanie b³êdów
Po przeczytaniu tej ksi¹¿ki Twoja wiedza pozwoli Ci na podejmowanie odpowiednich
decyzje dotycz¹ce architektury aplikacji i odpowiadaj¹cego jej modelu wyj¹tków.
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Wstp .........................................................................................................................................................11
Cz I Podstawy obsługi wyjtków
17
Rozdział 1. Obsługa wyjtków. Wprowadzenie....................................................................................... 19
Wstp........................................................................................................................19
Pojcie wyjtku ...........................................................................................................22
Hierarchia klas reprezentujcych wyjtki ........................................................................24
Opcje zwizane z przechwytywaniem oraz deklaracj wyjtków..........................................25
Przechwytywanie i obsługa wyjtków: bloki try, catch i finally.......................................26
Reguły dotyczce stosowania bloków try-catch-finally..................................................27
Deklarowanie metod zgłaszajcych wyjtki................................................................28
Reguły dotyczce deklarowania metod zgłaszajcych wyjtki .......................................28
Wyjtki kontrolowane i niekontrolowane.........................................................................28
Podstawowe własno/ci ka0dego wyjtku ........................................................................29
Podsumowanie ...........................................................................................................31
Rozdział 2. Obsługa wyjtków. Techniki i praktyka...............................................................................33
Wstp........................................................................................................................33
Kiedy przechwytywa3 wyjtki, a kiedy je deklarowa3?.......................................................34
Typowe sposoby obsługi wyjtków.................................................................................35
1. Zapis błdu lub zwizanej z nim informacji do dziennika .........................................36
2. Zwrócenie si do u0ytkownika z pro/b o podjcie odpowiedniej decyzji ........................38
3. U0ycie warto/ci domy/lnych lub alternatywnych .....................................................39
4. Przekazanie sterowania do innej cz/ci aplikacji....................................................40
5. Konwersja wyjtku do innej postaci......................................................................40
6. Zignorowanie problemu.......................................................................................41
7. Powtórzenie operacji...........................................................................................41
8. Wywołanie operacji alternatywnej.........................................................................42
9. Przygotowanie aplikacji do zamknicia..................................................................42
Co nale0y, a czego nie wolno robi3 w ramach obsługi wyjtków?.......................................43
Dobre praktyki ............................................................................................................43
1. Obsługuj wyjtki zawsze, gdy jest to mo0liwe.........................................................43
2. Obsługa wyjtku powinna /ci/le zale0e3 od jego typu .............................................43
6 Java. Obsługa wyjtków, usuwanie błdów i testowanie kodu
3. Zapisuj do dziennika te wyjtki, które mog mie3 wpływ na działanie aplikacji...........44
4. Dokonuj konwersji wyjtków, je/li tylko dojdziesz do wniosku,
0e lepiej reprezentuj one istot problemu............................................................44
Czego robi3 nie nale0y?................................................................................................44
1. Nie ignoruj wyjtków, chyba 0e masz absolutn pewno/3,
i0 jest to niegro;ne dla działania aplikacji .............................................................44
2. Nie dopuszczaj do zbyt ogólnego traktowania wyjtków...........................................45
3. Nie dokonuj konwersji wyjtku polegajcej na zmianie typu szczegółowego
na ogólny (chyba 0e przechowasz kontekst zdarzenia w inny sposób).......................46
4. Wyjtków lepiej unika3, ni0 je obsługiwa3..............................................................47
Rozdział 3. Zaawansowane koncepcje obsługi wyjtków .....................................................................49
Wstp........................................................................................................................49
Tworzenie własnych wyjtków .......................................................................................50
1. Definicja klasy wyjtku........................................................................................51
2. Deklaracja wyjtku przez metody, które mog by3 potencjalnym ;ródłem błdu .........52
3. Znalezienie tych miejsc, które s bezpo/redni przyczyn wystpienia błdu,
wygenerowanie w nich wyjtków i wyrzucenie ich za pomoc instrukcji throw.............52
Ła?cuchy wyjtków......................................................................................................54
Lokalizacja wyjtków....................................................................................................55
1. Stworzenie klasy dziedziczcej po ResourceBundle, która bdzie przechowywała
opis wyjtku ......................................................................................................56
2. Zdefiniowanie klasy odpowiadajcej danemu jzykowi ............................................57
3. Definicja klasy wyjtku, w której pokrywamy metod getLocalizedMessage...............57
Wyjtki a pokrywanie metod.........................................................................................59
Deklaracja wyjtków w interfejsach i klasach abstrakcyjnych ............................................60
Stos wywoła? wyjtku ..................................................................................................61
Wyjtki z perspektywy kodu po/redniego........................................................................64
Rozdział 4. Obsługa wyjtków w aplikacjach wielowtkowych............................................................69
Wstp........................................................................................................................69
Kiedy nale0y dzieli3 program na wtki? .....................................................................70
Wyjtki w systemach wielowtkowych............................................................................71
Wyjtki w synchronizowanych blokach kodu....................................................................72
Praca wielowtkowa a ryzyko wystpienia wyjtku ...........................................................74
Wyjtki zwizane z komunikowaniem si wtków.............................................................75
Zakleszczenie.............................................................................................................78
ThreadDeath...............................................................................................................79
Rozdział 5. Zapis do dziennika i asercje.................................................................................................. 81
Wstp........................................................................................................................81
Wprowadzenie do Logging API.......................................................................................81
Kiedy stosowa3 Logging API?........................................................................................82
Struktura Logging API ..................................................................................................82
Szczegóły dotyczce u0ywania biblioteki.........................................................................83
Konfigurowanie dziennika.............................................................................................88
Przykład pierwszy: Proste u0ycie domy/lnego obiektu Logger.......................................88
Przykład drugi: U0ycie i konfiguracja kilku obiektów typu Logger...................................89
Przykład trzeci: Dziennik rozproszony........................................................................90
Asercje ......................................................................................................................91
U0ywanie asercji ....................................................................................................92
Jak i kiedy korzysta3 z asercji? ................................................................................92
Spis tre-ci 7
Cz II Planowanie obsługi wyjtków
95
Rozdział 6. Planowanie obsługi wyjtków ..............................................................................................97
Wstp........................................................................................................................97
Zasady dobrego projektowania obiektowego...................................................................98
Projektowanie z uwzgldnieniem błdów .................................................................103
Etap 1. Identyfikacja przypadku u0ycia....................................................................104
Etap 2. Precyzyjny opis procesu i poszczególnych jego składników.............................105
Etap 3. Identyfikacja potencjalnych błdów i ocena ich ryzyka ...................................106
Etap 4. Wskazywanie miejsc wystpienia potencjalnych błdów w ramach operacji......110
Etap 5. Przygotowanie strategii obsługi błdów........................................................111
Projektowanie z my/l o łatwiejszym zarzdzaniu — korzy/ci i wady...........................113
Identyfikacja błdów.............................................................................................114
Podsumowanie .........................................................................................................115
Rozdział 7. Wyjtki a podstawowe elementy jzyka Java....................................................................117
Wstp......................................................................................................................117
Typy podstawowe ......................................................................................................118
Wprowadzenie .....................................................................................................118
Stosowanie .........................................................................................................118
Potencjalne problemy ...........................................................................................119
Ogólne zalecenia..................................................................................................121
Klasa Object i obiekty tego typu..................................................................................122
Wprowadzenie .....................................................................................................122
Potencjalne problemy ...........................................................................................122
Tablice.....................................................................................................................128
1. Indeksowanie ..................................................................................................129
2. Wielko/3 tablicy...............................................................................................129
3. Typ elementów tablicy.......................................................................................129
Interfejsy pakietu java.lang.........................................................................................130
Klasy String i StringBuffer ..........................................................................................131
Klasa String ........................................................................................................132
Klasa StringBuffer................................................................................................132
Klasy BigDecimal i BigInteger .....................................................................................132
Klasy opakowujce....................................................................................................133
Rozdział 8. Kolekcje i operacje wej-cia-wyj-cia..................................................................................135
Wstp......................................................................................................................135
Biblioteka obsługi kolekcji..........................................................................................135
Wprowadzenie .....................................................................................................135
Korzystanie z kolekcji ...........................................................................................136
Problemy i wyjtki typowe dla kolekcji.....................................................................141
System wej/cia-wyj/cia..............................................................................................144
Problemy typowe dla operacji wej/cia-wyj/cia ..........................................................146
Błdy i wyjtki w klasach wej/cia-wyj/cia......................................................................148
Problemy ogólne ..................................................................................................148
Problemy dotyczce strumieni okre/lonego typu ......................................................149
Biblioteka New I/O (NIO)............................................................................................156
Wyjtki w New I/O API................................................................................................158
Bufory.................................................................................................................158
Zestawy znaków...................................................................................................159
Kanały ................................................................................................................160
Przełczniki .........................................................................................................164
8 Java. Obsługa wyjtków, usuwanie błdów i testowanie kodu
Rozdział 9. Programowanie rozproszone w Javie ..............................................................................167
Wstp......................................................................................................................167
Podstawy komunikacji midzy aplikacjami....................................................................168
Modele komunikacji w Javie ..................................................................................170
Dodatkowe zagadnienia zwizane z prac rozproszon.............................................170
Model obsługi wyjtków ........................................................................................172
Typowe problemy .................................................................................................173
RMI — zdalne wywoływanie metod..............................................................................174
Model komunikacyjny RMI.....................................................................................174
Typowe zagadnienia zwizane z u0ywaniem RMI ......................................................175
Model wyjtków RMI.............................................................................................178
Java Naming and Directory Interface, JNDI ...................................................................184
Typowe zagadnienia zwizane z JNDI......................................................................185
Model wyjtków JNDI............................................................................................186
Java Database Connectivity, JDBC ..............................................................................189
Wyjtki w JDBC....................................................................................................189
Ogólne zagadnienia dotyczce obsługi baz danych...................................................191
Cykl 0ycia aplikacji korzystajcej z JDBC..................................................................193
Podsumowanie .........................................................................................................198
Rozdział 10. J2EE.....................................................................................................................................199
Wstp......................................................................................................................199
Podstawowy model aplikacji J2EE ...............................................................................200
Model aplikacji J2EE ............................................................................................202
Wyjtki w J2EE.....................................................................................................203
Warstwa klienta ........................................................................................................204
Warstwa aplikacji sieciowej ........................................................................................206
Deklaratywna obsługa błdów................................................................................207
Komponenty aplikacji sieciowej..............................................................................208
Serwlety i filtry: obsługa wyjtków na poziomie programu..........................................209
Model wyjtków serwletów i filtrów.........................................................................210
Typowe zagadnienia i ryzyko zwizane z u0ywaniem serwletów...................................211
Model wyjtków JSP .............................................................................................215
Bezpo/rednie przekierowanie błdów w JSP............................................................215
Sposób obsługi wyjtków w JSP.............................................................................216
Błdy zwizane z translacj i uruchamianiem stron JSP............................................217
Biblioteki własnych znaczników..............................................................................217
Warstwa komponentów EJB........................................................................................218
Standardowe metody EJB......................................................................................219
Ogólne kwestie zwizane z obsług EJB..................................................................221
Zagadnienia zwizane z typem komponentu ............................................................223
Model wyjtków EJB .............................................................................................225
Zarzdzanie cyklem 0ycia komponentów. Metody wywoływane przez klienta ................227
Metody komponentu wywoływane przez kontener.....................................................230
Wyjtki z punktu widzenia kontenera ......................................................................231
Obsługa transakcji.....................................................................................................232
J2EE i obsługa wyjtków — kwestie ogólne..................................................................236
Czynniki, które nale0y rozwa0y3 podczas obsługi wyjtków w J2EE...................................237
Obsługa dziennika................................................................................................237
Koszty zwizane ze zgłaszaniem wyjtków...............................................................238
Obci0enie sieci...................................................................................................239
Inne zalecenia dotyczce systemów J2EE ...............................................................239
Plik z chomika:
kronos78
Inne pliki z tego folderu:
Asembler dla procesorow Intel Vademecum profesjonalisty.pdf
(400 KB)
Asembler cwiczenia praktyczne.pdf
(358 KB)
Architektura systemow zarzadzania przedsiebiorstwem Wzorce projektowe.pdf
(829 KB)
Architektura oprogramowania Metody oceny oraz analiza przypadkow.pdf
(429 KB)
Aplikacje w Visual C++ 2005 Przyklady.pdf
(296 KB)
Inne foldery tego chomika:
!!!!!!!!ze słowackiego radia, niektore opisanie, inne nie
# - Wzory CV
▶ Porady remontowo - budowlane
▶ Remont domu - poradnik
• AGD - kody błędów pralek automatycznych
Zgłoś jeśli
naruszono regulamin