Quali sono gli errori di runtime in Java | Spiegato

Quali sono gli errori di runtime in Java | Spiegato
In Java, un evento indesiderato che termina l'esecuzione del programma è noto come errore. Si verifica a causa di problemi sintattici o di altri problemi che non possono essere rilevati al momento della compilazione. Gli errori che non possono essere rilevati al momento della compilazione e quindi si verificano al momento dell'esecuzione del programma sono noti come errori di runtime mentre gli errori con i problemi sintattici sono indicati come errori a tempo di compilazione.

Questo articolo presenta una panoramica dettagliata degli errori di runtime in Java e in questo senso, dobbiamo comprendere i seguenti concetti:

  • Quali sono gli errori di runtime in Java?
  • Tipi di errori di runtime in Java
  • Fattori che causano errori di runtime
  • Esempi di errori di runtime
  • Come gestire gli errori di runtime

Quindi iniziamo!

Quali sono gli errori di runtime in Java?

Gli errori che si verificano al momento dell'esecuzione del programma sono indicati come errori di runtime. Questi tipi di errori non possono essere rilevati al momento della compilazione in quanto non c'è nulla di sbagliato nella loro sintassi. Quindi, possiamo dire che il programma che è sintatticamente corretto lancia comunque un errore al momento dell'esecuzione del programma è chiamato errore di runtime.

Tipi di errori di runtime in Java

Esistono più tipi di errori di runtime che possiamo affrontare al momento dell'esecuzione del programma. Alcuni errori di runtime frequentemente riscontrati sono elencati di seguito:

  • Errori di input-output
  • Errore di loop infinito
  • Divisione per zero errori
  • Errori logici
  • Errori fuori portata
  • Errore oggetto non definito

Fattori che causano errori di runtime

Esistono numerosi fattori che causano errori di runtime, tra cui le cause più comunemente riscontrate sono elencate di seguito:

  • Dividi qualsiasi valore numerico per zero produce errori di runtime.
  • Accesso a un array out-of-bounds.
  • Passando dati non validi e.G. Passando un valore numerico al campo non numerico.
  • Passare parametri/argomenti non validi a un metodo.
  • Più processi che cercano di accedere alla stessa risorsa contemporaneamente.
  • Cercando di archiviare un valore di tipo incompatibile a una raccolta.
  • Errore di spazio/memoria insufficiente nei thread (outofmemoryerror)

Esempi di errori di runtime

Comprendiamo il concetto di errori di runtime con l'aiuto di esempi.

Esempio

In questo esempio, abbiamo una serie di dimensioni tre:

Classe pubblica RuntimeERrorsexample
public static void main (string [] args)
int ary [] = 4, 6, 2;
Sistema.fuori.println ("risultato:" + ary [3]);

La lunghezza dell'array è di tre e sapevamo che l'indicizzazione dell'array inizia da zero. Quindi, specificando Ary [3] significa che stiamo cercando di accedere al quarto elemento dell'array. Sintatticamente, niente di sbagliato in questo, quindi non abbiamo affrontato alcun errore al momento della compilazione. Tuttavia, JVM lancerà l'errore in fase di esecuzione:

Dallo snippet sopra, osserviamo che si verifica un errore in fase di esecuzione quando proviamo ad accedere all'indice fuori portata.

Per la chiarezza del concetto consideriamo un altro esempio:

Esempio

Questa volta abbiamo una stringa assegnata con a "nullo" valore e proveremo a trovare la lunghezza della stringa:

Classe pubblica RuntimeERrorsexample
public static void main (string [] args)
Stringa str = null;
Sistema.fuori.println (str.lunghezza());

Il seguito sarà l'output per lo snippet di codice sopra:

Quando eseguiamo il programma, incontriamo a NullpointerException Perché la stringa è null.

Quindi, come gestire tali errori di runtime? Java fornisce una soluzione per affrontare tali errori di runtime? Certo, Java lo fa.

Come gestire gli errori di runtime

In Java, gli errori di runtime possono essere risolti con l'aiuto delle dichiarazioni di try-catch e, per farlo, dobbiamo mettere il codice che può lanciare un errore di runtime nelle istruzioni Try-Catch.

Esempio

Consideriamo lo snippet del codice seguente per capire come risolvere gli errori di runtime usando le istruzioni Try-Catch in Java:

Classe pubblica RuntimeERrorsexample
public static void main (string [] args)
Tentativo
int numero1 = 110, numero2 = 0;
Sistema.fuori.println ("Risultato:" + numero1 / numero2);
catch (aritmeticexception Excep)
Sistema.fuori.println ("i valori numerici non possono essere divisi per 0");

Ora abbiamo circondato il codice all'interno delle istruzioni Try-Catch che possono lanciare l'errore:

Ora questa volta invece di lanciare l'errore, JVM mostra il messaggio che abbiamo specificato all'interno del blocco di cattura.

Conclusione

In Java, i programmi che sono sintatticamente corretti, ma continuano a lanciare alcuni errori al momento dell'esecuzione del programma sono noti come errori di runtime. Questi errori si verificano a causa di diversi motivi come la divisione a zero, l'accesso a un array fuori dai limiti, passando dati non validi.G. Passando un valore numerico al campo non numerico, ecc. Questi tipi di errori possono essere gestiti circostando il blocco di try-catch attorno al codice che può lanciare gli errori di runtime. Questo articolo spiega diversi aspetti degli errori di runtime, ad esempio quali sono gli errori di runtime, i loro tipi, le cause e come correggere questi errori in Java.