logo

חריג זריקת Java

ב-Java, חריגים מאפשרים לנו לכתוב קודים באיכות טובה שבהם השגיאות נבדקות בזמן הקומפילציה במקום בזמן ריצה ואנחנו יכולים ליצור חריגים מותאמים אישית המקלים על שחזור הקוד ואיתור הבאגים.

ג'אווה זרוק מילת מפתח

מילת המפתח Java throw משמשת כדי לזרוק חריג באופן מפורש.

אובייקט java ל-json

אנו מציינים את יוצא מן הכלל חפץ שיש לזרוק. לחריג יש הודעה כלשהי שמספקת את תיאור השגיאה. חריגים אלה עשויים להיות קשורים לתשומות משתמש, שרת וכו'.

אנו יכולים לזרוק חריגים מסומנים או לא מסומנים ב-Java על ידי מילת מפתח זריקה. הוא משמש בעיקר כדי לזרוק חריג מותאם אישית. נדון בחריגים מותאמים אישית בהמשך סעיף זה.

אנו יכולים גם להגדיר קבוצת תנאים משלנו ולזרוק חריג במפורש באמצעות מילת מפתח לזרוק. לדוגמה, נוכל לזרוק ArithmeticException אם נחלק מספר במספר אחר. כאן, אנחנו רק צריכים להגדיר את התנאי ולזרוק חריג באמצעות מילת מפתח throw.

התחביר של מילת המפתח Java throw ניתן להלן.

לזרוק מופע כלומר,

 throw new exception_class('error message'); 

בואו נראה את הדוגמה של זרוק IOException.

 throw new IOException('sorry device error'); 

כאשר המופע חייב להיות מסוג Throwable או תת מחלקה של Throwable. לדוגמה, Exception היא תת המחלקה של Throwable והחריגים המוגדרים על ידי המשתמש בדרך כלל מרחיבים את המחלקה Exception.

Java throw מילת מפתח דוגמה

דוגמה 1: זריקת חריגה לא מסומנת

בדוגמה זו, יצרנו שיטה בשם validate() שמקבלת מספר שלם כפרמטר. אם הגיל הוא פחות מ-18, אנו זורקים את ArithmeticException אחרת הדפס הודעה מוזמן להצביע.

TestThrow1.java

בדוגמה זו, יצרנו את שיטת validate שלוקחת ערך מספר שלם כפרמטר. אם הגיל הוא פחות מ-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)>

תְפוּקָה:

ג'אווה זרוק מילת מפתח

דוגמה 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()); } } } 

תְפוּקָה:

ג'אווה זרוק מילת מפתח