logo

Виняток Java throw

У Java винятки дозволяють нам писати якісні коди, де помилки перевіряються під час компіляції, а не під час виконання, і ми можемо створювати спеціальні винятки, що полегшує відновлення коду та налагодження.

Ключове слово Java throw

Ключове слово Java throw використовується для явного створення винятку.

wumpus світ

Уточнюємо виняток предмет, який потрібно кинути. Виняток містить деяке повідомлення з описом помилки. Ці винятки можуть бути пов’язані з введеними користувачами, сервером тощо.

Ми можемо створювати перевірені або неперевірені винятки в Java за ключовим словом throw. Він в основному використовується для створення користувацького винятку. Ми обговоримо спеціальні винятки пізніше в цьому розділі.

Ми також можемо визначити власний набір умов і викинути виняток явно за допомогою ключового слова throw. Наприклад, ми можемо викликати ArithmeticException, якщо ділимо число на інше число. Тут нам просто потрібно встановити умову та викинути виняток за допомогою ключового слова throw.

Нижче наведено синтаксис ключового слова Java throw.

кинути екземпляр, тобто

 throw new exception_class('error message'); 

Давайте подивимося на приклад throw IOException.

встановити java
 throw new IOException('sorry device error'); 

Де екземпляр має бути типу Throwable або підкласу Throwable. Наприклад, Exception є підкласом Throwable, а визначені користувачем винятки зазвичай розширюють клас Exception.

Приклад ключового слова Java throw

Приклад 1: Викидання неперевіреного винятку

У цьому прикладі ми створили метод під назвою validate(), який приймає ціле число як параметр. Якщо вік менший за 18 років, ми викидаємо ArithmeticException, інакше друкуємо повідомлення з проханням проголосувати.

TestThrow1.java

У цьому прикладі ми створили метод перевірки, який приймає ціле значення як параметр. Якщо вік менший за 18 років, ми викидаємо ArithmeticException, інакше друкуємо повідомлення з проханням проголосувати.

 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)>

Вихід:

Ключове слово Java throw

Приклад 3: Викидання визначеного користувачем винятку

винятком є ​​все інше під класом 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(&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()); } } } 

Вихід:

Ключове слово Java throw