Java lancia la parola chiave
La parola chiave Java throws viene utilizzata per dichiarare le informazioni sull'eccezione che possono verificarsi durante l'esecuzione del programma. Fornisce informazioni sull'eccezione al programmatore. È preferibile fornire il codice di gestione delle eccezioni in modo che il normale flusso di esecuzione del programma possa essere mantenuto.
Supponiamo che nel tuo programma java tu stia utilizzando un metodo di libreria che genera un'eccezione
Nel tuo programma gestirai questa eccezione usando try & catch.
import java.io.*;class file1{public static void main(String[] args) {try{FileWriter file = new FileWriter("c:\\Data1.txt");file.write("Guru99");file.close();}catch(IOException){}}}
Se non gestisci l'eccezione in un blocco try catch, la compilazione fallirà. Ma quasi tutti gli altri metodi nella libreria java o anche definiti dall'utente possono generare una o due eccezioni.
Gestire tutte le eccezioni utilizzando il blocco try and catch potrebbe essere complicato e ostacolerà il throughput del programmatore.
Quindi java fornisce un'opzione, in cui ogni volta che si utilizza un pezzo di codice rischioso nella definizione del metodo si dichiara che genera un'eccezione senza implementare try catch.
java throw Eccezione sintassi
method (Arguments) throws Exception1,Exception2,Exception,… {}
Java lancia Example
Considera lo stesso esempio di sopra con i lanci nella dichiarazione del metodo.
import java.io.*;class file1{public static void main(String[] args) throws IOException{FileWriter file = new FileWriter("c:\\Data1.txt");file.write("Guru99");file.close();}}
Nota: per utilizzare correttamente i codici precedenti, creare prima un file di testo vuoto con il nome Data1.txt nell'unità C. In sintesi, ci sono due metodi per gestire le eccezioni.
- Metti l'eccezione che causa il codice in try and catch block.
- Dichiarare che il metodo genera un'eccezione
Se uno dei due precedenti non viene eseguito, il compilatore restituisce un errore. L'idea alla base dell'applicazione di questa regola è che tu come programmatore sei consapevole che un determinato pezzo di codice potrebbe essere rischioso e potrebbe generare un'eccezione.
Qual'è la differenza tra throw e throws?
gettare | lanci |
---|---|
Viene utilizzato per creare un nuovo oggetto Eccezione e lanciarlo | Viene utilizzato nella definizione del metodo per dichiarare che viene chiamato un metodo rischioso. |
Usando la parola chiave throw puoi dichiarare solo un'eccezione alla volta | Usando la parola chiave throws puoi dichiarare più eccezioni alla volta. |
Esempio: lancia una nuova IOException ("impossibile aprire la connessione"); |
Esempio: genera IOException, ArrayIndexBoundException; |
Sommario
La "parola chiave Java throw" viene utilizzata per dichiarare un'eccezione. Per qualsiasi metodo che "genererà" un'eccezione, è obbligatorio che nel metodo chiamante si utilizzi throws per elencare l'eccezione generata.