Jakie są błędy czasu wykonawczego w Javie | Wyjaśnione

Jakie są błędy czasu wykonawczego w Javie | Wyjaśnione
W Javie niechciane zdarzenie, które kończy wykonanie programu, jest znane jako błąd. Występuje albo z powodu problemów składniowych, albo niektórych innych problemów, których nie można wykryć w czasie kompilacji. Błędy, których nie można wykryć w czasie kompilacji, a zatem występują w momencie wykonywania programu, są znane jako błędy czasu wykonawczego, podczas gdy błędy w kwestiach składowych są określane jako błędy kompilacji.

W tym artykule przedstawiono szczegółowy przegląd błędów wykonawczych w Javie i pod tym względem musimy zrozumieć następujące pojęcia:

  • Jakie są błędy czasu wykonawczego w Javie?
  • Rodzaje błędów wykonawczych w Javie
  • Czynniki, które powodują błędy w czasie wykonywania
  • Przykłady błędów wykonawczych
  • Jak obsługiwać błędy w środowisku wykonawczym

Więc zacznijmy!

Jakie są błędy czasu wykonawczego w Javie?

Błędy występujące w momencie wykonywania programu są określane jako błędy wykonawcze. Tego rodzaju błędy nie można wykryć w czasie kompilacji, ponieważ nie ma nic złego w ich składni. Możemy więc powiedzieć, że program, który jest poprawny składnia, nadal rzuca błąd w momencie wykonywania programu, nazywa się błąd środowiska wykonawczego.

Rodzaje błędów wykonawczych w Javie

Istnieje wiele rodzajów błędów wykonawczych, z którymi możemy się spotkać w momencie wykonywania programu. Niektóre często spotykane błędy w środowisku wykonawczym są wymienione poniżej:

  • Błędy wejścia-wyjścia
  • Nieskończony błąd pętli
  • Podział zero błędów
  • Błędy logiczne
  • Bez zasięgu błędów
  • Nieokreślony błąd obiektu

Czynniki, które powodują błędy w czasie wykonywania

Istnieje wiele czynników, które powodują błędy czasu wykonywania, w tym najczęściej napotykane przyczyny podano poniżej:

  • Dzielenie dowolnej wartości liczbowej przez zero powoduje błędy czasu wykonywania.
  • Dostęp do tablicy.
  • Przekazywanie nieprawidłowych danych E.G. Przekazywanie wartości liczbowej do pola niewidomego.
  • Przekazywanie nieprawidłowych parametrów/argumentów do metody.
  • Wiele procesów próbujących uzyskać dostęp do tego samego zasobu w tym samym czasie.
  • Próba przechowywania niekompatybilnej wartości typu do kolekcji.
  • Niewystarczający błąd przestrzeni/pamięci w wątkach (outofmemoryerror)

Przykłady błędów wykonawczych

Zrozumiemy pojęcie błędów wykonawczych za pomocą przykładów.

Przykład

W tym przykładzie mamy szereg rozmiaru trzeciego:

Klasa publiczna Runtimeerorsexample
public static void main (string [] args)
int ary [] = 4, 6, 2;
System.na zewnątrz.println („wynik:” + ary [3]);

Długość tablicy wynosi trzy i wiedzieliśmy, że indeksowanie tablicy zaczyna się od zera. Tak więc określenie Ary [3] oznacza, że ​​próbujemy uzyskać dostęp do czwartego elementu tablicy. Składnie, nic w tym złego, więc nie napotykaliśmy żadnego błędu w czasie kompilacji. Jednak JVM rzuci błąd w czasie wykonywania:

Z powyższego fragmentu obserwujemy, że błąd występuje w czasie wykonywania, gdy próbujemy uzyskać dostęp do indeksu poza zasięgiem.

Dla jasności koncepcji rozważmy inny przykład:

Przykład

Tym razem mamy Ciąg przypisany do "zero" wartość i postaramy się znaleźć długość ciągu:

Klasa publiczna Runtimeerorsexample
public static void main (string [] args)
String str = null;
System.na zewnątrz.println (str.długość());

Poniżej pojawi się wyjście dla powyższego fragmentu kodu:

Kiedy uruchamiamy program, napotykamy NULLPOINTERException Ponieważ ciąg jest zerowy.

Więc jak obsługiwać takie błędy wykonawcze? Czy Java zapewnia rozwiązanie do radzenia sobie z takimi błędami w czasie wykonywania? Oczywiście Java.

Jak obsługiwać błędy w środowisku wykonawczym

W Javie błędy czasu wykonywania można rozwiązać za pomocą instrukcji TRY-Catch, a aby to zrobić, musimy umieścić kod, który może rzucić błąd środowiska wykonawczego w instrukcjach Try-Catch.

Przykład

Rozważmy poniższy fragment kodu, aby zrozumieć, jak rozwiązać błędy czasu wykonawczego za pomocą instrukcji TRY-Catch w Javie:

Klasa publiczna Runtimeerorsexample
public static void main (string [] args)
próbować
int number1 = 110, numer2 = 0;
System.na zewnątrz.println („wynik:” + numer1 / numer2);
catch (arytmeticexception excep)
System.na zewnątrz.println („Wartości numerycznych nie można podzielić przez 0”);

Teraz otoczyliśmy kod w instrukcjach Try-Catch, które mogą rzucić błąd:

Teraz tym razem zamiast rzucać błąd, JVM pokazuje komunikat określony w bloku Catch.

Wniosek

W Javie programy, które są poprawne syntaktycznie, ale nadal wywołują błędy w momencie wykonywania programu, są znane jako błędy wykonawcze. Błędy te występują z różnych powodów, takich jak podział zero, uzyskując dostęp do tablicy poza granicami, przekazując nieprawidłowe dane E.G. Przekazywanie wartości liczbowej do pola niewidomego itp. Tego rodzaju błędy mogą być obsługiwane przez otaczanie bloku Try-Catch wokół kodu, który może rzucić błędy w czasie wykonywania. Ten zapis wyjaśnia różne aspekty błędów wykonawczych, na przykład jakie są błędy czasu wykonawczego, ich typy, przyczyny i jak naprawić te błędy w Javie.