Ostatnia aktualizacja 29 sierpnia 2020 r.przez Scientech Easy
w tym samouczku nauczymy się hierarchii WYJĄTKÓW w Javie z diagramami i zwięzłymi opisy.
w poprzednim samouczku wyjaśniliśmy podstawowe punkty obsługi wyjątków w Javie, obsługa wyjątków z przykładami w czasie rzeczywistym. Polecam, abyś najpierw zapoznał się z podstawowymi punktami.,
Types of Exceptions in Java
Basically, there are two types of exceptions in java API. They are:
1. Predefined Exceptions (Built-in-Exceptions)
2. Custom Exceptions
Predefined Exceptions:
Predefined exceptions are those exceptions that are already defined by Java system. These exceptions are also called built-in-exceptions.
Java API supports exception handling by providing the number of predefined exceptions. These predefined exceptions are represented by classes in java.,
Gdy wystąpi predefiniowany wyjątek, JVM (Java runtime system) tworzy obiekt predefiniowanej klasy WYJĄTKÓW. Wszystkie wyjątki pochodzą z Javy.lang.Klasa Throwable, ale nie wszystkie klasy WYJĄTKÓW są zdefiniowane w tym samym pakiecie.
wszystkie predefiniowane wyjątki obsługiwane przez Javę są zorganizowane jako podklasy w hierarchii pod klasą Throwable.
Klasa Throwable jest korzeniem hierarchii wyjątków i jest bezpośrednią podklasą klasy Object. Przyjrzyjmy się hierarchii WYJĄTKÓW Javy, jak pokazano na poniższym rysunku.
1., Klasa Throwable: jak pokazano na powyższym rysunku, Klasa Throwable, która jest pochodną klasy obiektu, jest szczytem hierarchii WYJĄTKÓW, z której wszystkie klasy WYJĄTKÓW są pochodnymi bezpośrednio lub pośrednio. Jest korzeniem wszystkich klas WYJĄTKÓW. Występuje na jawie.pakiet lang.
Klasa Throwable jest klasą nadrzędną wszystkich wyjątków w Javie. Ta klasa ma dwie podklasy: Error i Exception. Błędy lub wyjątki występujące w programach java są obiektami tych klas. Używając klasy Throwable, możesz również tworzyć własne wyjątki.
2., Error: Klasa Error jest podklasą klasy Throwable i klasą nadrzędną wszystkich klas błędów runtime. Kończy program, jeśli występuje problem związany z systemem lub zasobami (JVM).
błąd zazwyczaj oznacza nietypowy problem lub sytuację, z której trudno go odzyskać. Nie występuje przez błędy programistów. Zwykle występuje, gdy system nie działa prawidłowo lub zasoby nie są przydzielane prawidłowo.
VirtualMachineError, StackOverFlowError, AssertionError, LinkageError, OutOfMmeoryError, itd. są przykładami błędu., Więcej szczegółów dowiemy się w dalszych samouczkach.
3. Wyjątek: jest reprezentowany przez klasę wyjątku, która reprezentuje błędy spowodowane przez program i czynniki zewnętrzne. Klasa Exception jest podklasą klasy Throwable i superklasą wszystkich klas exception. Wszystkie klasy WYJĄTKÓW pochodzą bezpośrednio lub pośrednio z klasy WYJĄTKÓW. Zazwyczaj pochodzą one z wewnątrz aplikacji.,
Klasa exception dostarcza dwóch konstruktorów:
- public Exception() (domyślny konstruktor)
- public Exception(string message) (przyjmuje łańcuch wiadomości jako argument)
każda z klas exception dostarcza dwóch konstruktorów: jednego bez argumentu i drugiego z argumentem typu String. Klasa Exception nie dostarcza własnej metody. Dziedziczy wszystkie metody dostarczane przez klasę Throwable.,
hierarchia klas WYJĄTKÓW w Javie
hierarchia klas WYJĄTKÓW w Javie została pokazana na poniższym rysunku, który jest bardzo ważny dla celów wywiadu.
wyjątki niestandardowe:
wyjątki niestandardowe to wyjątki, które są tworzone przez użytkowników lub programistów zgodnie z ich własnymi potrzebami. Wyjątki niestandardowe są również nazywane wyjątkami zdefiniowanymi przez Użytkownika, które są tworzone przez rozszerzenie klasy exception.,
Tak więc Java daje programistom swobodę rzucania i obsługi wyjątków podczas radzenia sobie z funkcjonalnymi wymaganiami problemów, które rozwiązują. Omówimy bardziej szczegółowo wyjątki niestandardowe w dalszych samouczkach.
zobaczmy Krótki opis każdej podklasy klasy Exception.
Klasa RuntimeException (wyjątki niezaznaczone)
Klasa RuntimeException jest podklasą klasy Exception. Jest wyrzucany przez JVM lub programowo, gdy operacja arytmetyczna wykonywana w programie jest nieprawidłowa lub wada / błąd występuje w kodzie programu.,
RuntimeException i wszystkie jego podklasy WYJĄTKÓW nie są sprawdzane przez kompilator Javy, ponieważ występują podczas wykonywania programu. Dlatego te wyjątki są również nazywane wyjątkami niezaznaczonymi.
Klasa RuntimeException składa się z wielu innych podklas wyjątków, które są używane do obsługi określonego typu WYJĄTKÓW. Oprócz tych podklas WYJĄTKÓW klasy RuntimeException pokazanych na powyższym rysunku, istnieją również inne podklasy klasy RuntimeException, które nie zostały pokazane na diagramie struktury hierarchii, aby uniknąć złożoności.,
zobaczmy ich krótki opis.
1. ArithmeticException: ten wyjątek jest wyrzucany, gdy występują problemy arytmetyczne, takie jak liczba jest podzielona przez zero. Oznacza to, że jest to spowodowane błędem matematycznym.
2. ClassCastException: ClassCastException jest wyjątkiem uruchomieniowym, który jest wyrzucany przez JVM, gdy próbujemy niepoprawnie typecasting w programie. Oznacza to, że jest on wyrzucany, gdy rzucamy obiekt do podklasy, której obiekt nie jest instancją.
3., IllegalArgumentException: ten wyjątek runtime jest wyrzucany programowo, gdy przekazywany jest niezgodny z prawem lub odpowiedni argument do wywołania metody. Ta klasa wyjątku ma kolejne dwie podklasy:
- NumberFormatException
- IllegalThreadStateException
NumericFormatException: NumberFormatException jest rzucany przez programowo, gdy próbujemy przekonwertować łańcuch znaków na typ numeryczny i proces nielegalnej konwersji nie powiedzie się. Oznacza to, że występuje z powodu nielegalnej konwersji ciągu znaków do formatu liczbowego.,
IllegalThreadStateException: wyjątek IllegalThreadStateException jest wyjątkiem uruchomieniowym, który jest wyrzucany programowo, gdy próbujemy wykonać dowolną operację na wątku, ale jest niezgodny z bieżącym stanem wątku.
4. IndexOutOfBoundsException: ta klasa wyjątku jest rzucana przez JVM, gdy tablica lub łańcuch znaków wychodzi poza podany indeks., It has two further subclasses:
- ArrayIndexOutOfBoundsException
- StringIndexOutOfBoundsException
ArrayIndexOutOfBoundsException: ArrayIndexOutOfBoundsException exception is thrown when an array element is accessed out of the index.
StringIndexOutOfBoundsException: StringIndexOutOfBoundsException exception is thrown when a String or StringBuffer element is accessed out of the index.
5., NullPointerException: NullPointerException jest wyjątkiem uruchomieniowym, który jest wyrzucany przez JVM, gdy próbujemy użyć null zamiast obiektu. Oznacza to, że jest wyrzucany, gdy Referencja jest null.
6. ArrayStoreException: ten wyjątek występuje, gdy próbujemy zapisać dowolną wartość w tablicy, która nie jest typu array. Na przykład, załóżmy, że tablica jest typu integer, ale staramy się zapisać wartość elementu innego typu.
7., IllegalStateException: wyjątek IllegalStateException jest wyrzucany programowo, gdy środowisko uruchomieniowe nie jest w stanie odpowiednim do wywołania jakiejkolwiek metody.
8. IllegalMonitorStateException: ten wyjątek jest wyrzucany, gdy wątek nie ma prawa monitorować obiektu i próbuje uzyskać dostęp do metod wait(), notify () i notifyAll() obiektu.
9. NegativeArraySizeException: wyjątek NegativeArraySizeException jest wyrzucany, gdy tablica jest tworzona z ujemnym rozmiarem.,
lista sprawdzonych WYJĄTKÓW w Javie
teraz w krótkim opisie wymieniliśmy sprawdzone wyjątki.
1. ClassNotFoundException: ClassNotFoundException jest rodzajem wyjątku sprawdzonego, który jest wyrzucany, gdy próbujemy użyć klasy, która nie istnieje.
wyjątki sprawdzane to te wyjątki, które są sprawdzane przez sam kompilator Javy.
2. FileNotFoundException: FileNotFoundException jest zaznaczonym wyjątkiem, który jest wyrzucany, gdy próbujemy uzyskać dostęp do nieistniejącego pliku.
3., InterruptedException: InterruptedException jest wyjątkiem sprawdzonym, który jest wyrzucany, gdy wątek jest w stanie uśpienia lub oczekiwania, a inny wątek próbuje go przerwać.
4. InstantiationException: ten wyjątek jest również zaznaczonym wyjątkiem, który jest wyrzucany, gdy próbujemy utworzyć obiekt klasy abstrakcyjnej lub interfejsu. Oznacza to, że wyjątek InstantiationException występuje, gdy instancja klasy abstrakcyjnej lub interfejsu jest tworzona.
5., IllegalAccessException: IllegalAccessException jest wyjątkiem zaznaczonym i jest wyrzucany, gdy metoda jest wywołana w innej metodzie lub klasie, ale wywołująca metodę lub klasę nie ma uprawnień dostępu do tej metody.
6. CloneNotSupportedException: ten zaznaczony wyjątek jest wyrzucany, gdy próbujemy sklonować obiekt bez implementacji interfejsu do klonowania.
7. NoSuchFieldException: jest to zaznaczony wyjątek, który jest wyrzucany, gdy nieznana zmienna jest używana w programie.
8., NoSuchMethodException: ten zaznaczony wyjątek jest wyrzucany, gdy w programie używana jest niezdefiniowana metoda.
Mam nadzieję, że ten samouczek obejmuje prawie wszystkie podstawowe punkty związane z hierarchią WYJĄTKÓW w Javie. Mam nadzieję, że zrozumieliście podstawowe punkty klasy Throwable i jej podklasy: wyjątek i błąd.
najważniejsze punkty do zapamiętania:
- dwa rodzaje WYJĄTKÓW w języku Java: predefiniowane i niestandardowe wyjątki.
- główną klasą dla wszystkich wyjątków w hierarchii klas wyjątków jest java.lang.Rzucać.,
- Exception classes are mainly divided into three types: system errors, exceptions, and runtime exceptions.
- System errors are represented by Error class and thrown by JVM.
- Exceptions are represented by Exception classes that describe errors in your program.
Thanks for reading!!!
Next ⇒ Checked and Unchecked Exception in Java⇐ PrevNext ⇒