דילוג לתוכן המרכזי
מודול 5 · שיעור 1 מתוך 29/14 בקורס~12 min
שיעורי מודול (1/2)

בלוקים של try-catch

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

המבנה try-catch

כדי לטפל בחריג פוטנציאלי, אנו מקיפים את הקוד המסוכן בבלוק try. אם מתרחשת שגיאה בתוך הבלוק try, ה-JVM מפסיק לבצע אותה ומחפש בלוק catch תואם כדי לטפל בחריג.

Java
try {
    int result = 10 / 0; // Generates ArithmeticException
    System.out.println("This will not be printed");
} catch (ArithmeticException e) {
    System.out.println("Arithmetic error occurred: " + e.getMessage());
}

הבלוק finally

הבלוק finally הוא אופציונלי והוא תמיד מבוצע, ללא קשר לשאלה אם הושקה חריגה. הוא אידיאלי לשחרור משאבים או ביצוע פעולות ניקוי.

Java
try {
    System.out.println("Executing logic");
} catch (Exception e) {
    System.out.println("Error");
} finally {
    System.out.println("This block is always executed");
}

חריגים לזריקה: throw

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

Java
public static void checkScore(int score) {
    if (score < 0 || score > 100) {
        throw new IllegalArgumentException("Score must be between 0 and 100");
    }
}

נסה זאת בעצמך

פעילות גופנית#java.m5.l1.e1
ניסיונות: 0טוען...

השלם את הקוד על ידי הוספת בלוק try-catch כדי לטפל ב-ArithmeticException פוטנציאלי הנובע מהחלוקה a/b. במקרה של שגיאה, הדפס 'שגיאה: חלק באפס'.

טוען עורך...
הצג רמז

הכנס את פעולת החלוקה בתוך בלוק `try` ותפוס `ArithmeticException`, הדפסת ההודעה הנדרשת.

הפתרון זמין לאחר 3 ניסיונות

פעילות גופנית#java.m5.l1.e2
ניסיונות: 0טוען...

השלם את הקוד כדי ליישם בלוק try-catch-finally. בבלוק try, נסה להמיר את המחרוזת str למספר שלם באמצעות Integer.parseInt. בבלוק ה-catch, ייירט את NumberFormatException והדפיס 'מספר לא חוקי'. בגוש הסופי, הדפס 'סוף סוף'.

טוען עורך...
הצג רמז

כתוב את מבנה הבלוק `try { ... } (NumberFormatException e) { ... } לבסוף { ... }`.

הפתרון זמין לאחר 3 ניסיונות

פעילות גופנית#java.m5.l1.e3
ניסיונות: 0טוען...

השלם את שיטת checkAge על ידי זריקת אי-חוקי ארגומנט עם ההודעה 'מתחת' אם הגיל שסופק הוא פחות מ-18.

טוען עורך...
הצג רמז

השתמש במילות המפתח 'אם (גיל < 18)' ובמילות המפתח 'זרוק חדש' כדי ליצור מופע ולזרוק את החריגה.

הפתרון זמין לאחר 3 ניסיונות