In Java è possibile adottare diversi modi per gestire le eccezioni, in questo articolo discuteremo i seguenti modi di gestione delle eccezioni:
Tutti gli approcci sopra menzionati saranno discussi in questo articolo con l'aiuto di alcuni esempi. Tuttavia, prima di dirigerci verso questi approcci prima dobbiamo capire perché è necessario gestire le eccezioni in Java.
Perché la gestione delle eccezioni in Java
Nel caso in cui affrontiamo qualsiasi errore, normalmente il programma interrompe la sua esecuzione, tuttavia la gestione delle eccezioni garantisce che il flusso normale del programma non debba rompere.
Consideriamo uno scenario per la profonda comprensione della gestione delle eccezioni in Java:
Supponiamo di avere cinque dichiarazioni in un programma e l'eccezione si verifica alla terza dichiarazione, quindi un programma normale interrompe la sua esecuzione a quel punto e le restanti due dichiarazioni non eseguiranno. Tuttavia, se applichiamo una gestione delle eccezioni, il flusso normale non sarebbe interessato a.e. L'eccezione verrà mostrata solo per l'istruzione interessata e tutte le altre dichiarazioni eseguiranno correttamente.
Esempio
Consideriamo l'esempio seguente che non ha preso in considerazione il meccanismo di gestione delle eccezioni. Ora, cosa succederà se si verifica un errore?
PublicClassexceptionHandlingExampleIn questo programma, abbiamo una serie di numeri interi, all'interno del ciclo, specifichiamo una condizione arr.lunghezza che rappresenta iterazione fino all'ultima voce dell'array. E all'interno del corpo del ciclo, abbiamo un numero "50" e sarà diviso per ogni valore dell'array:
Dall'output, è chiaro che il programma termina quando si verifica un errore e non stampa i valori rimanenti dell'array.
Pertanto, per gestire tali scenari, i programmatori Java utilizzano il concetto di gestione delle eccezioni in modo che se si verifica un errore, invece di terminare l'intero programma, dovrebbe lanciare l'eccezione solo per l'affermazione interessata.
Gestione delle eccezioni utilizzando Try-Catch
Uno dei modi più semplici e semplici per affrontare le eccezioni è prova a prendere dichiarazioni che vengono fuori in coppia. Il codice specificato all'interno del blocco Try verrà testato per le eccezioni/errori e se si verifica un'eccezione, verrà catturato nel blocco catch.
La sintassi di base dell'istruzione Try-Catch sarà simile a questa:
TentativoIl blocco di prova sarà sempre seguito da almeno un blocco di cattura.
Esempio
Estendiamo un po 'di più l'esempio precedente e aggiungiamo le dichiarazioni di try-catch per affrontare le eccezioni.
PublicClassexceptionHandlingExampleIl codice completo insieme al rispettivo output è mostrato nel seguente frammento:
Questa volta in cui si verifica un errore, a quel punto il programma mostra un messaggio "Si verifica un'eccezione" E in seguito, il loop si itera attraverso le voci rimanenti dell'array.
Gestione delle eccezioni utilizzando finalmente l'istruzione
In Java, il Finalmente La parola chiave può essere utilizzata con il try-catch e eseguirà sempre indipendentemente dal fatto che le eccezioni siano gestite o meno.
Nota: Scrivi sempre le dichiarazioni/codice importanti (che si desidera eseguire in qualsiasi situazione) all'interno del Finalmente bloccare.
Esempio
Lo snippet di codice seguente mostra come Finalmente Block Works in Java:
PublicClassexceptionHandlingExampleIl codice completo e il rispettivo output sono mostrati nella seguente schermata:
Come nel codice sopra, utilizziamo l'eccezione ArrayoUoTofbound, quindi non è in grado di gestire un'eccezione aritmetica. Tuttavia, dallo snippet sopra, è chiaro che il Finalmente Block esegue indipendentemente dalle conseguenze (i.e. Eccezione gestita o no).
Gestione delle eccezioni usando la parola chiave di lancio
La parola chiave di lancio può essere usata per lanciare un'eccezione esplicitamente (i.e. Ci consente di creare un'eccezione personalizzata). Può essere utilizzato con qualsiasi tipo di eccezione come ArrayIndexoutOfBoundSexception, ArithmeTicexception e così via.
Esempio
In questo esempio prenderemo un valore al momento della chiamata di funzione, se il valore di input è uguale a 0, lanceremo a personalizzato eccezione aritmetica.
publicclassThrowExampleIl frammento di codice completo insieme all'output è fornito nel seguente snippet:
Lo snippet di codice sopra mostra che il passaggio "0" poiché l'input si traduce in eccezioni personalizzate che autenticano il funzionamento del gettare parola chiave.
Conclusione
Java fornisce più dichiarazioni per gestire le eccezioni/errori di runtime come provare, cattura, infine, lancio. prova a prendere Le dichiarazioni si presentano in coppia, il blocco di prova testa il codice per eccezioni/errori se si verifica un'eccezione, verrà catturato nel blocco catch. IL Finalmente La parola chiave può essere utilizzata con il battito di prova e eseguirà sempre indipendentemente dal fatto che le eccezioni siano gestite o meno gettare La parola chiave viene utilizzata per lanciare un'eccezione esplicitamente. Questo articolo fornisce una comprensione dettagliata di come gestire le eccezioni in Java.