logo

Java-kast unntak

I Java lar unntak oss skrive koder av god kvalitet der feilene kontrolleres på kompileringstidspunktet i stedet for kjøretid, og vi kan lage tilpassede unntak som gjør kodegjenoppretting og feilsøking enklere.

Java-kast nøkkelord

Java-kast-nøkkelordet brukes til å kaste et unntak eksplisitt.

avkorte og slette forskjellen

Vi spesifiserer unntak gjenstand som skal kastes. Unntaket har en melding med seg som gir feilbeskrivelsen. Disse unntakene kan være relatert til brukerinndata, server osv.

Vi kan kaste enten sjekkede eller ukontrollerte unntak i Java ved å kaste nøkkelord. Det brukes hovedsakelig til å kaste et tilpasset unntak. Vi vil diskutere tilpassede unntak senere i denne delen.

Vi kan også definere vårt eget sett med betingelser og gi et unntak eksplisitt ved å bruke throw nøkkelord. For eksempel kan vi kaste ArithmeticException hvis vi deler et tall med et annet tall. Her trenger vi bare å angi betingelsen og kaste unntaket ved å bruke kaste nøkkelordet.

Syntaksen til Java throw-nøkkelordet er gitt nedenfor.

kast forekomst, dvs.

 throw new exception_class('error message'); 

La oss se eksemplet med kast IOException.

 throw new IOException('sorry device error'); 

Hvor forekomsten må være av typen Throwable eller underklasse av Throwable. For eksempel er Exception underklassen til Throwable, og de brukerdefinerte unntakene utvider vanligvis Exception-klassen.

Java-kast søkeord Eksempel

Eksempel 1: Kaster ukontrollert unntak

I dette eksemplet har vi laget en metode kalt validate() som godtar et heltall som en parameter. Hvis alderen er under 18, kaster vi ArithmeticException ellers skriv ut en melding velkommen til å stemme.

hvordan lese fra csv-fil i java

TestThrow1.java

I dette eksemplet har vi laget valideringsmetoden som tar heltallsverdien som en parameter. Hvis alderen er under 18, kaster vi ArithmeticException ellers skriv ut en melding velkommen til å 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(&apos;C:\Users\Anurati\Desktop\abc.txt&apos;); 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(&apos;rest of the code...&apos;); } } </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(&apos;This is user-defined exception&apos;); } catch (UserDefinedException ude) { System.out.println(&apos;Caught the exception&apos;); // 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)>

Produksjon:

Java-kast nøkkelord

Eksempel 3: Kaste brukerdefinert unntak

unntak er alt annet 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(&apos;This is user-defined exception&apos;); } catch (UserDefinedException ude) { System.out.println(&apos;Caught the exception&apos;); // Print the message from MyException object System.out.println(ude.getMessage()); } } } 

Produksjon:

Java-kast nøkkelord