A Java-ban a kivételek lehetővé teszik, hogy jó minőségű kódokat írjunk, ahol a hibákat a fordítási időben ellenőrzik a futásidő helyett, és egyedi kivételeket is létrehozhatunk, amelyek megkönnyítik a kód helyreállítását és a hibakeresést.
Java dobás kulcsszó
A Java throw kulcsszó kifejezetten kivételek dobására szolgál.
sql sorrendben dátum szerint
Meghatározzuk a kivétel tárgy, amelyet el kell dobni. A kivételnek van valami üzenete, amely a hiba leírását tartalmazza. Ezek a kivételek a felhasználói bemenetekhez, a szerverhez stb. vonatkozhatnak.
Dobhatunk bejelölt vagy nem ellenőrzött kivételeket a Java-ban a throw kulcsszóval. Főleg egyéni kivételek dobására használják. Az egyéni kivételekről ebben a részben később lesz szó.
Meghatározhatjuk saját feltételkészletünket is, és kifejezetten a dobás kulcsszó használatával dobhatunk kivételt. Például dobhatunk ArithmeticException-t, ha egy számot elosztunk egy másik számmal. Itt csak be kell állítanunk a feltételt és a dobás kivételt a throw kulcsszó használatával.
A Java throw kulcsszó szintaxisa alább látható.
Példány dobása, azaz
throw new exception_class('error message');
Lássuk az IOException dobás példáját.
throw new IOException('sorry device error');
Ahol a példánynak Throwable típusúnak vagy a Throwable alosztályának kell lennie. Például az Exception a Throwable alosztálya, és a felhasználó által meghatározott kivételek általában kiterjesztik az Exception osztályt.
Java dobás kulcsszó Példa
1. példa: Nem ellenőrzött kivétel dobása
Ebben a példában létrehoztunk egy validate() nevű metódust, amely egy egész számot fogad el paraméterként. Ha az életkor nem éri el a 18-at, akkor az aritmetikai kivételt dobjuk, ellenkező esetben nyomtasson üzenetet, üdvözlöm a szavazást.
TestThrow1.java
Ebben a példában létrehoztuk az érvényesítési metódust, amely egész számot vesz paraméterként. Ha az életkor nem éri el a 18-at, akkor az aritmetikai kivételt dobjuk, ellenkező esetben nyomtasson üzenetet!
java kiválasztási rendezés
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)>
Kimenet:
3. példa: Felhasználó által definiált kivétel dobása
kivétel minden más a Throwable osztály alatt.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()); } } }
Kimenet:
18)>