I Java giver undtagelser os mulighed for at skrive koder af god kvalitet, hvor fejlene kontrolleres på kompileringstidspunktet i stedet for runtime, og vi kan oprette brugerdefinerede undtagelser, hvilket gør kodegendannelse og fejlretning lettere.
Java-kast søgeord
Java throw nøgleordet bruges til eksplicit at kaste en undtagelse.
hvad er mappeindsendelse
Vi specificerer undtagelse genstand, der skal kastes. Undtagelsen har en besked med sig, der giver fejlbeskrivelsen. Disse undtagelser kan være relateret til brugerinput, server osv.
Vi kan smide enten markerede eller umarkerede undtagelser i Java ved at kaste nøgleord. Det bruges hovedsageligt til at kaste en brugerdefineret undtagelse. Vi vil diskutere tilpassede undtagelser senere i dette afsnit.
Vi kan også definere vores eget sæt betingelser og kaste en undtagelse eksplicit ved at bruge throw nøgleordet. For eksempel kan vi kaste ArithmeticException, hvis vi dividerer et tal med et andet tal. Her skal vi blot indstille betingelsen og kaste undtagelsen ved hjælp af nøgleordet throw.
Syntaksen for Java throw nøgleordet er angivet nedenfor.
smid instans, dvs.
throw new exception_class('error message');
Lad os se eksemplet med throw IOException.
throw new IOException('sorry device error');
Hvor instansen skal være af typen Throwable eller underklasse af Throwable. For eksempel er Exception underklassen af Throwable, og de brugerdefinerede undtagelser udvider normalt Exception-klassen.
Java-kast søgeord Eksempel
Eksempel 1: Kast umarkeret undtagelse
I dette eksempel har vi lavet en metode ved navn validate(), der accepterer et heltal som en parameter. Hvis alderen er under 18 år, smider vi ArithmeticException ellers udskriv en besked velkommen til at stemme.
hvordan man deaktiverer udviklertilstand for Android
TestThrow1.java
I dette eksempel har vi lavet valideringsmetoden, der tager heltalsværdien som en parameter. Hvis alderen er under 18 år, smider vi ArithmeticException ellers udskriv en besked velkommen til at stemme.
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)>
Produktion:
Eksempel 3: Kast Brugerdefineret undtagelse
undtagelsen er alt andet under Throwable-klassen.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()); } } }
Produktion:
18)>