V Javi nam izjeme omogočajo pisanje kakovostnih kod, pri katerih se napake preverjajo v času prevajanja namesto med izvajanjem, poleg tega lahko ustvarimo izjeme po meri, s čimer olajšamo obnovitev kode in odpravljanje napak.
Ključna beseda Java throw
Ključna beseda Java throw se uporablja za eksplicitno vrženje izjeme.
kako izstopiti iz zanke while java
Določimo, izjema predmet, ki ga je treba vreči. Izjema ima nekaj sporočil z opisom napake. Te izjeme so lahko povezane z uporabniškimi vnosi, strežnikom itd.
V Javi lahko vržemo označene ali nepreverjene izjeme s ključno besedo throw. Uporablja se predvsem za ustvarjanje izjeme po meri. O izjemah po meri bomo razpravljali pozneje v tem razdelku.
Definiramo lahko tudi lasten nabor pogojev in vržemo izjemo eksplicitno s ključno besedo throw. Na primer, vržemo ArithmeticException, če število delimo z drugim številom. Tukaj moramo le nastaviti pogoj in vrniti izjemo s ključno besedo throw.
Spodaj je podana sintaksa ključne besede Java throw.
vrzi primerek, tj.
throw new exception_class('error message');
Oglejmo si primer vrže IOException.
seznam proti naboru v Javi
throw new IOException('sorry device error');
Kjer mora biti primerek tipa Throwable ali podrazreda Throwable. Na primer, Exception je podrazred Throwable in uporabniško definirane izjeme običajno razširijo Exception razred.
Primer ključne besede Java throw
1. primer: Vrženje nepreverjene izjeme
V tem primeru smo ustvarili metodo z imenom validate(), ki sprejme celo število kot parameter. Če je starost manjša od 18 let, vržemo ArithmeticException, sicer natisnemo sporočilo dobrodošli pri glasovanju.
TestThrow1.java
V tem primeru smo ustvarili metodo validacije, ki kot parameter vzame celoštevilsko vrednost. Če je starost manjša od 18 let, vržemo ArithmeticException, sicer natisnemo sporočilo dobrodošli pri glasovanju.
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)>
Izhod:
Primer 3: Vrženje uporabniško določene izjeme
izjema je vse ostalo pod razredom 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()); } } }
Izhod:
18)>