În Java, excepțiile ne permit să scriem coduri de bună calitate, unde erorile sunt verificate în timpul compilării în loc de timpul de execuție și putem crea excepții personalizate ușurând recuperarea și depanarea codului.
cuvânt cheie Java aruncare
Cuvântul cheie Java throw este folosit pentru a arunca o excepție în mod explicit.
java obține ora curentă
Precizăm excepție obiect care urmează să fie aruncat. Excepția are un mesaj cu ea care oferă descrierea erorii. Aceste excepții pot fi legate de intrările utilizatorului, server etc.
Putem arunca fie excepții bifate, fie nebifate în Java prin cuvântul cheie throw. Este folosit în principal pentru a arunca o excepție personalizată. Vom discuta despre excepțiile personalizate mai târziu în această secțiune.
De asemenea, putem defini propriul nostru set de condiții și putem arunca o excepție în mod explicit folosind cuvântul cheie throw. De exemplu, putem arunca ArithmeticException dacă împărțim un număr la un alt număr. Aici, trebuie doar să setăm condiția și să aruncăm excepția folosind cuvântul cheie throw.
Sintaxa cuvântului cheie Java throw este dată mai jos.
arunca Instanță, adică
throw new exception_class('error message');
Să vedem exemplul throw IOException.
throw new IOException('sorry device error');
În cazul în care Instanța trebuie să fie de tipul Throwable sau subclasa Throwable. De exemplu, Exception este subclasa Throwable, iar excepțiile definite de utilizator extind de obicei clasa Exception.
Exemplu de cuvinte cheie Java throw
Exemplul 1: Aruncarea excepției nebifate
În acest exemplu, am creat o metodă numită validate() care acceptă un număr întreg ca parametru. Dacă vârsta este mai mică de 18 ani, lansăm ArithmeticException, altfel imprimați un mesaj de bun venit la vot.
returnând o matrice java
TestThrow1.java
În acest exemplu, am creat metoda de validare care ia valoarea întreagă ca parametru. Dacă vârsta este mai mică de 18 ani, lansăm ArithmeticException, altfel imprimați un mesaj binevenit la vot.
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)>
Ieșire:
Exemplul 3: Lansarea unei excepții definite de utilizator
excepție este orice altceva din clasa 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()); } } }
Ieșire:
18)>