V Jave nám výnimky umožňujú písať kvalitné kódy, kde sa chyby kontrolujú v čase kompilácie namiesto behu a môžeme vytvárať vlastné výnimky, ktoré uľahčujú obnovu kódu a ladenie.
Kľúčové slovo Java throw
Kľúčové slovo Java throw sa používa na explicitné vyvolanie výnimky.
if-else java
Špecifikujeme výnimkou predmet, ktorý sa má hodiť. Výnimka obsahuje správu, ktorá poskytuje popis chyby. Tieto výnimky môžu súvisieť s používateľskými vstupmi, serverom atď.
V jazyku Java môžeme vyvolať začiarknuté alebo nezačiarknuté výnimky kľúčovým slovom throw. Používa sa hlavne na vyvolanie vlastnej výnimky. Vlastné výnimky si rozoberieme neskôr v tejto časti.
Môžeme tiež definovať vlastnú sadu podmienok a explicitne vyvolať výnimku pomocou kľúčového slova throw. Napríklad môžeme vyvolať Aritmetickú výnimku, ak vydelíme číslo iným číslom. Tu stačí nastaviť podmienku a vyhodiť výnimku pomocou kľúčového slova throw.
Syntax kľúčového slova Java throw je uvedená nižšie.
hodiť inštanciu, tj.
throw new exception_class('error message');
Pozrime sa na príklad throw IOException.
throw new IOException('sorry device error');
Kde Inštancia musí byť typu Throwable alebo podtriedy Throwable. Napríklad Exception je podtrieda Throwable a používateľom definované výnimky zvyčajne rozširujú triedu Exception.
Príklad kľúčového slova Java throw
Príklad 1: Vyhodenie nezačiarknutej výnimky
V tomto príklade sme vytvorili metódu s názvom validate(), ktorá akceptuje celé číslo ako parameter. Ak je vek nižší ako 18 rokov, použijeme výnimku ArithmeticException, inak vytlačíme správu, vitajte pri hlasovaní.
TestThrow1.java
sql poradie podľa dátumu
V tomto príklade sme vytvorili metódu validácie, ktorá berie ako parameter celočíselné hodnoty. Ak je vek nižší ako 18 rokov, použijeme výnimku ArithmeticException, inak vytlačíme správu, vitajte pri hlasovaní.
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)>
Výkon:
Príklad 3: Vyvolanie užívateľom definovanej výnimky
výnimkou je všetko ostatné v triede 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()); } } }
Výkon:
18)>