Hva er runtime -feil i Java | Forklart

Hva er runtime -feil i Java | Forklart
I Java er en uønsket hendelse som avslutter programmets utførelse kjent som en feil. Det oppstår enten på grunn av syntaktiske problemer eller noen andre problemer som ikke kan oppdages på kompileringstidspunktet. Feilene som ikke kan oppdages ved kompileringstid og følgelig oppstår på tidspunktet for utførelse av programmet er kjent som runtime-feil, mens feilene med syntaktiske problemer blir referert til som kompileringstidsfeil.

Denne artikkelen presenterer en detaljert oversikt over runtime -feil i Java, og i denne forbindelse må vi forstå følgende konsepter:

  • Hva er runtime -feil i Java?
  • Typer runtime -feil i java
  • Faktorer som forårsaker kjøretidsfeil
  • Eksempler på kjøretidsfeil
  • Hvordan håndtere runtime -feil

Så la oss komme i gang!

Hva er runtime -feil i Java?

Feilene som oppstår på tidspunktet for utførelse av programmet blir referert til som runtime -feil. Disse typer feil kan ikke oppdages på kompileringstidspunktet, da det ikke er noe galt med syntaks. Så vi kan si at programmet som er syntaktisk korrekt, fremdeles kaster en feil på tidspunktet for utførelse av programmet kalles en runtime -feil.

Typer runtime -feil i java

Det er flere typer runtime -feil som vi kan møte på tidspunktet for utførelse av programmet. Noen ofte oppståtte runtime -feil er listet opp nedenfor:

  • Input-output-feil
  • Uendelig sløyfefeil
  • Divisjon med null feil
  • Logiske feil
  • Utenfor rekkeviddefeil
  • Udefinert objektfeil

Faktorer som forårsaker kjøretidsfeil

Det er mange faktorer som forårsaker kjøretidsfeil, blant dem de mest oppståtte årsakene er listet opp nedenfor:

  • Å dele ut hvilken som helst numerisk verdi med null produserer runtime -feil.
  • Få tilgang til en matrise-ut-av-bundinger.
  • Passerer ugyldige data e.g. Passering av en numerisk verdi til det ikke-numeriske feltet.
  • Passerer ugyldige parametere/argumenter til en metode.
  • Flere prosesser som prøver å få tilgang til den samme ressursen samtidig.
  • Prøver å lagre en inkompatibel type verdi til en samling.
  • Utilstrekkelig rom/minnefeil i tråder (OutOfMemoryError)

Eksempler på kjøretidsfeil

La oss forstå begrepet runtime -feil ved hjelp av eksempler.

Eksempel

I dette eksemplet har vi en rekke størrelse tre:

public class runtimeErrorsexample
public static void main (String [] args)
int ary [] = 4, 6, 2;
System.ute.println ("Resultat:" + ary [3]);

Arrayens lengde er tre, og vi visste at matrisens indeksering starter fra null. Så å spesifisere ary [3] betyr at vi prøver å få tilgang til det fjerde elementet i matrisen. Syntaktisk, ingenting galt med det, så vi ikke møtte noen feil på kompileringstidspunktet. Imidlertid vil JVM kaste feilen ved kjøretid:

Fra ovennevnte utdrag observerer vi at det oppstår en feil ved kjøretid når vi prøver å få tilgang til indeks utenfor rekkevidden.

For klarheten i konseptet, la oss vurdere et annet eksempel:

Eksempel

Denne gangen har vi en streng tilordnet med en "null" Verdi og vi vil prøve å finne lengden på strengen:

public class runtimeErrorsexample
public static void main (String [] args)
Streng str = null;
System.ute.Println (str.lengde());

Følgende vil være utdataene for ovennevnte kodebit:

Når vi kjører programmet, møter vi en NullPointerException Fordi strengen er null.

Så hvordan du håndterer slike kjøretidsfeil? Gir java en løsning for å håndtere slike kjøretidsfeil? Selvfølgelig gjør Java.

Hvordan håndtere runtime -feil

I Java kan runtime-feil løses ved hjelp av prøvekampanlegg, og for å gjøre det, må vi legge koden som kan kaste en runtime-feil i prøvekampanleggene.

Eksempel

La oss vurdere kodebiten nedenfor for å forstå hvordan du løser runtime-feil ved å bruke Try-Catch-setninger i Java:

public class runtimeErrorsexample
public static void main (String [] args)
prøv
int nummer1 = 110, nummer2 = 0;
System.ute.println ("Resultat:" + nummer1 / nummer2);
fangst (aritmeticexception excep)
System.ute.println ("Numeriske verdier kan ikke deles med 0");

Nå omringet vi koden innenfor prøvekampanleggene som kan kaste feilen:

Nå denne gangen i stedet for å kaste feilen, viser JVM meldingen som vi spesifiserte i fangstblokken.

Konklusjon

I Java er programmene som er syntaktisk korrekte, men som fremdeles kaster noen feil på tidspunktet for utførelse av programmet kjent som runtime -feil. Disse feilene oppstår på grunn av forskjellige grunner som divisjon med null, får tilgang til en rekke utenfor grensene, passerer ugyldige data e.g. passerer en numerisk verdi til det ikke-numeriske feltet osv. Denne typen feil kan håndteres ved å omgi prøvefangstblokken rundt koden som kan kaste runtime-feilene. Denne oppskrivningen forklarer forskjellige aspekter ved runtime-feil for eksempel hva som er runtime-feil, deres typer, årsaker og hvordan du kan fikse disse feilene i Java.