Wyjątek java.lang.nullpointerexception to błąd Java występujący, gdy aplikacja Java próbuje użyć wartości null zamiast obiektu.
Wyjątek RuntimeException jest rozszerzany przez wyjątek NullPointerException, który jest klasą publiczną.
Wyjątek NullPointerException jest zgłaszany w różnych sytuacjach, na przykład podczas wywoływania metody instancji obiektu o wartości null. Ten błąd wystąpi również wtedy, gdy obiekt ma wartość NULL i spróbujesz uzyskać dostęp lub edytować pole tego obiektu NULL.
Jeśli spróbujesz uzyskać długość pustej tablicy, również zostanie zgłoszony wyjątek.
W tym artykule przyjrzymy się, jak obsłużyć wyjątek wskaźnika zerowego w Javie.
Kiedy wystąpi wyjątek java.lang.nullpointerexception?
Gdy zmienna Java, która nie wskazuje na żaden obiekt, jest dostępna dla jakiejkolwiek akcji, pojawia się wyjątek java.lang.nullpointerexception.
Wyjątek środowiska wykonawczego java.lang.nullpointerexception Wyjątkiem środowiska wykonawczego jest wyjątek java.lang.nullpointerexception. Gdy zdefiniujesz zmienną, ale nie przypiszesz jej do obiektu, dopóki nie spróbujesz jej użyć, otrzymasz wyjątek java nullpointerexception.
Odwołujesz się do nieistniejącego podmiotu. W Javie null oznacza określoną wartość. Jest najczęściej używany do wskazania, że zmiennej referencyjnej nie przypisano wartości lub nie przypisano jej żadnej wartości.
Aby uniknąć wyjątku NullPointerException, przed użyciem zmiennej upewnij się, że wszystkie obiekty zostały poprawnie zainicjowane.
Oto niektóre z najczęstszych scenariuszy NullPointerException:
- Uzyskiwanie właściwości obiektu zerowego
- Używanie obiektu zerowego do wywoływania metod
- Na obiekcie zerowym przy użyciu synchronized
- Zgłaszanie wartości null z metody zgłaszania wyjątków
- Argumenty o wartości null są przekazywane do metody.
- Dostęp do elementu indeksu obiektu zerowego (jak w tablicy)
- W przypadku struktur wstrzykiwania zależności, takich jak Spring, to ustawienie jest nieprawidłowe.
Przykład java.lang.nullpointerexception
Wyjątek NullPointerException zostanie zgłoszony, jeśli zostanie utworzona zmienna Java, która nie odnosi się do obiektu i jest używana do wykonania jakiejś czynności.
Poniższy przykład próbuje określić długość ciągu, który został ustawiony na wartość null.
Naprawianie wyjątku java.lang.nullpointerexception
Napraw 1
Znajdź zmienną java, która zgłasza wyjątek java.lang. Jeśli oprogramowanie zgłasza wyjątek NullPointerException, dokładnie sprawdź, czy zmienna jest przypisana do wartości lub obiektu.
Wyjątek java.lang.nullpointerexception zostanie odrzucony, jeśli do zmiennej java zostanie przypisana wartość.
Napraw 2
Użyj operatora trójskładnikowego, aby określić wartość domyślną przed użyciem zmiennej java do wykonania działania, jeśli java.lang.nullpointerexception jest wrzucany do zmiennej.
Wartość zmiennej zostanie użyta, jeśli ją posiada. W przeciwnym razie, aby uniknąć wyjątku java.lang.nullpointerexception, użyta zostałaby wartość domyślna.
Napraw 3
Jeśli nie masz pewności, która zmienna jest przyczyną wyjątku java.lang.nullpointerexception lub istnieje ryzyko wyrzucenia wyjątku java.lang.nullpointerexception lub jeśli istnieje ryzyko wyrzucenia wyjątku java.lang.nullpointerexception w kilku miejscach; dodawanie kontroli zerowej do kodu jest czasochłonne.
Aby poradzić sobie z tym problemem, dodaj do niego blok catch.
Napraw 4
Jeśli zmienna java w aplikacji zgłasza wyjątek java.lang.nullpointerexception, przed jej użyciem wykonaj kontrolę zerową.
Wybierz alternatywną trasę, jeśli zmienna ma wartość NULL. Wyjątek java.nullpointerexception zostanie usunięty.
Wnioski
W tym artykule przyjrzeliśmy się wyjątkowi Java NullPointerException.
Jest to niebezpieczny wyjątek, który często pojawia się w najmniej oczekiwanym momencie. Najczęstszą przyczyną wyjątku pustego wskaźnika jest pusty obiekt lub puste odwołanie.
Najskuteczniejsze rozwiązania już widzieliśmy.
Dodaj komentarz