In Java, le eccezioni ci consentono di scrivere codici di buona qualità in cui gli errori vengono controllati in fase di compilazione anziché in fase di esecuzione e possiamo creare eccezioni personalizzate semplificando il ripristino e il debug del codice.
Parola chiave Java lanciata
La parola chiave Java Throw viene utilizzata per generare esplicitamente un'eccezione.
educazione shloka mehta
Precisiamo il eccezione oggetto da lanciare. L'eccezione contiene un messaggio che fornisce la descrizione dell'errore. Queste eccezioni possono essere correlate agli input dell'utente, al server, ecc.
Possiamo lanciare eccezioni controllate o non controllate in Java tramite la parola chiave Throw. Viene utilizzato principalmente per generare un'eccezione personalizzata. Discuteremo le eccezioni personalizzate più avanti in questa sezione.
Possiamo anche definire il nostro insieme di condizioni e lanciare un'eccezione esplicitamente utilizzando la parola chiave launch. Ad esempio, possiamo lanciare ArithmeticException se dividiamo un numero per un altro numero. Qui, dobbiamo solo impostare la condizione e generare un'eccezione utilizzando la parola chiave launch.
La sintassi della parola chiave Java Throw è riportata di seguito.
lancia l'istanza, ad esempio,
throw new exception_class('error message');
Vediamo l'esempio di lancio IOException.
throw new IOException('sorry device error');
Dove l'istanza deve essere di tipo Throwable o sottoclasse di Throwable. Ad esempio, Exception è la sottoclasse di Throwable e le eccezioni definite dall'utente solitamente estendono la classe Exception.
Esempio di parola chiave Java Throw
Esempio 1: lancio di un'eccezione non controllata
In questo esempio, abbiamo creato un metodo denominato validate() che accetta un numero intero come parametro. Se l'età è inferiore a 18 anni, verrà lanciata l'ArithmeticException, altrimenti stamperemo un messaggio di benvenuto al voto.
TestThrow1.java
mylivecricket.in
In questo esempio, abbiamo creato il metodo validate che accetta un valore intero come parametro. Se l'età è inferiore a 18 anni, verrà lanciata l'ArithmeticException, altrimenti stamperemo un messaggio di benvenuto al voto.
public class TestThrow1 { //function to check if person is eligible to vote or not public static void validate(int age) { if(age<18) { throw arithmetic exception if not eligible to vote new arithmeticexception('person is vote'); } else system.out.println('person vote!!'); main method public static void main(string args[]){ calling the function validate(13); system.out.println('rest of code...'); < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/63/java-throw-exception.webp" alt="Java throw keyword"> <p>The above code throw an unchecked exception. Similarly, we can also throw unchecked and user defined exceptions.</p> <h4>Note: If we throw unchecked exception from a method, it is must to handle the exception or declare in throws clause.</h4> <p>If we throw a checked exception using throw keyword, it is must to handle the exception using catch block or the method must declare it using throws declaration.</p> <h3>Example 2: Throwing Checked Exception</h3> <h4>Note: Every subclass of Error and RuntimeException is an unchecked exception in Java. A checked exception is everything else under the Throwable class.</h4> <p> <strong>TestThrow2.java</strong> </p> <pre> import java.io.*; public class TestThrow2 { //function to check if person is eligible to vote or not public static void method() throws FileNotFoundException { FileReader file = new FileReader('C:\Users\Anurati\Desktop\abc.txt'); BufferedReader fileInput = new BufferedReader(file); throw new FileNotFoundException(); } //main method public static void main(String args[]){ try { method(); } catch (FileNotFoundException e) { e.printStackTrace(); } System.out.println('rest of the code...'); } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/63/java-throw-exception-2.webp" alt="Java throw keyword"> <h3>Example 3: Throwing User-defined Exception</h3> exception is everything else under the Throwable class. <p> <strong>TestThrow3.java</strong> </p> <pre> // class represents user-defined exception class UserDefinedException extends Exception { public UserDefinedException(String str) { // Calling constructor of parent Exception super(str); } } // Class that uses above MyException public class TestThrow3 { public static void main(String args[]) { try { // throw an object of user defined exception throw new UserDefinedException('This is user-defined exception'); } catch (UserDefinedException ude) { System.out.println('Caught the exception'); // Print the message from MyException object System.out.println(ude.getMessage()); } } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/63/java-throw-exception-3.webp" alt="Java throw keyword"> <hr></18)>
Produzione:
Esempio 3: generazione di un'eccezione definita dall'utente
l'eccezione è tutto il resto della classe Throwable.TestThrow3.java
// class represents user-defined exception class UserDefinedException extends Exception { public UserDefinedException(String str) { // Calling constructor of parent Exception super(str); } } // Class that uses above MyException public class TestThrow3 { public static void main(String args[]) { try { // throw an object of user defined exception throw new UserDefinedException('This is user-defined exception'); } catch (UserDefinedException ude) { System.out.println('Caught the exception'); // Print the message from MyException object System.out.println(ude.getMessage()); } } }
Produzione:
18)>