Domanda |
Risposta |
Czym jest wyjątek (exception) pod względem języka Java? inizia ad imparare
|
|
Z punktu widzenia programowania w Javie wyjątek jest specjlną klasą dziedziczącą po klasie Java. lang. Throwable.
|
|
|
Jak można wykorzystać wyjątek (exception)? inizia ad imparare
|
|
Obsłużony wyjątek może uchronić program przed błędem/zaprzestaniem działania (np. walidacja argumentu w przypadku dzielenia przez zero z wykorzystaniem IllegalArgumentException.
|
|
|
Jak wygląda jednolinijkowa implementacja wyjątku IllegalArgumentException w kodzie? inizia ad imparare
|
|
throw new IllegalArgumentException("Wiadomość wyjątku");
|
|
|
Co zwraca program kończący działanie wyjątkiem? inizia ad imparare
|
|
Program kończący działanie wyjątkiem zwróci klasę wyjątku, wiadomość (message) oraz StackTrace.
|
|
|
inizia ad imparare
|
|
Jest to stos informacji o pochodzeniu wyjątku zwracacanych przez program po wystąpieniu wyjątku.
|
|
|
Jaka jest struktura stosu StackTrace? inizia ad imparare
|
|
StackTrace w pierwszej linijce zwraca miejsce, z którego wyjątek został wyrzucony. W kolejnych linijkach wypisuje on co raz bardziej ogólne metody, które wywoływały metodę bezpośrednio rzucającą wyjątek w trakcie jego wystąpienia.
|
|
|
Co składa się na pojedynczy wiersz w StackTrace'sie? inizia ad imparare
|
|
Na pojedynczy wierz w StackTrace'sie składa się: nazwa metody, pakiet, z którego pochodzi oraz numer wiesza i nazwa pliku, w którym się znajduje ta metoda.
|
|
|
Na czym polega obsługa wyjątku? inizia ad imparare
|
|
Obsługa (łapanie) wyjątku polega na wykonaiu specjalnego fragmentu kodu po wyrzuceniu wyjątku, aby zapobiec zatrzymaniu jego działania.
|
|
|
Jak nazywają się słowa kluczowe wykorzystywane do obsługi wyjątków? inizia ad imparare
|
|
Try/Catch/Finally, Throws
|
|
|
Z jakiej klasy dziedziczą wszystkie wyjątki? inizia ad imparare
|
|
|
|
|
Czy w ramach jednego wywołania catch możemy obsłużyć więcej niż jeden wyjątek, jeżeli wyjątki te nie posiadają wspólnej klasy bazowej? inizia ad imparare
|
|
Tak, do jednakowej obsługi różnych wyjątków może posłużyć symbol "|", który można umieścić pomiędzy kolejnymi wyjątkami w ramach jednej klauzyli catch.
|
|
|
Jakie są dwa rodzaje wyjatków? inizia ad imparare
|
|
|
|
|
Czym jest wyjątek typu checked? inizia ad imparare
|
|
Checked jest wyjątkiem wychwytywanym w trakcie kompilacji. Jako taki wymaga, aby był zgłoszony przez klauzulę throws lub obsłużony.
|
|
|
Czym jest wyjątek typu unchecked? inizia ad imparare
|
|
Jest to wyjątek niewychwytywany w czasie kompilacji. Dziedziczący po RuntimeException - wyrzucany jest w momencie wykonywania programu.
|
|
|
Co jest podstawą podziału wyjątków na checked i unchecked? inizia ad imparare
|
|
Podział checked i unchecked opiera się na momencie, w którym wyjątek jest wychwytywany. Jest to jednocześnie kwestia posiadania java. lang. RuntimeException w hierarchii dziedziczenia.
|
|
|
Podaj przykłady wyjątków typu checked. inizia ad imparare
|
|
IOException, SQLException, MalformedURLException.
|
|
|
Podaj przykłady wyjątków typu unchecked. inizia ad imparare
|
|
IndexOutOfBoundsException, IllegalArgumentException, NullPointerException.
|
|
|
Jakie są metody obsługi wyjątków? inizia ad imparare
|
|
Przy pomocy klauzuli try/catch/finally, lub przu użyciu słowa kluczowego throws.
|
|
|
Jak działa słowo kluczowe throws? inizia ad imparare
|
|
Słowo kluczowe throws informuje, że metoda przy której stoi, może wywołać wyjątek, który ma być obsłużony przez metodę wyższej instacji, wywołującą tę metodę.
|
|
|
Na czym polega klauzula finally? inizia ad imparare
|
|
Umieszczona po klauzuli try lub catch, klauzula finally zawiera kod, który ma być wykonany niezależnie od wystąpienia jakiegoś wyjątku.
|
|
|
Czym jest rzucenie wyjątku? inizia ad imparare
|
|
Wyrzucenie wyjątku oznacza niemożność kontunuowania działania programu przy podanych warunkach.
|
|
|