שיעורי מודול (1/2)
בלוקים של try-catch
ב-Java, שגיאות זמן ריצה מטופלות באמצעות חריגים. טיפול בחריגים מאפשר לנו ליירט תנאים חריגים ולמנוע מהתוכנית לקרוס.
המבנה try-catch
כדי לטפל בחריג פוטנציאלי, אנו מקיפים את הקוד המסוכן בבלוק try. אם מתרחשת שגיאה בתוך הבלוק try, ה-JVM מפסיק לבצע אותה ומחפש בלוק catch תואם כדי לטפל בחריג.
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 הוא אופציונלי והוא תמיד מבוצע, ללא קשר לשאלה אם הושקה חריגה. הוא אידיאלי לשחרור משאבים או ביצוע פעולות ניקוי.
try {
System.out.println("Executing logic");
} catch (Exception e) {
System.out.println("Error");
} finally {
System.out.println("This block is always executed");
}חריגים לזריקה: throw
אנו יכולים לזרוק חריג בכוונה באמצעות מילת המפתח throw ואחריה מופע חדש של מחלקת חריגה.
public static void checkScore(int score) {
if (score < 0 || score > 100) {
throw new IllegalArgumentException("Score must be between 0 and 100");
}
}נסה זאת בעצמך
השלם את הקוד על ידי הוספת בלוק try-catch כדי לטפל ב-ArithmeticException פוטנציאלי הנובע מהחלוקה a/b. במקרה של שגיאה, הדפס 'שגיאה: חלק באפס'.
הצג רמז
הכנס את פעולת החלוקה בתוך בלוק `try` ותפוס `ArithmeticException`, הדפסת ההודעה הנדרשת.
הפתרון זמין לאחר 3 ניסיונות
השלם את הקוד כדי ליישם בלוק try-catch-finally. בבלוק try, נסה להמיר את המחרוזת str למספר שלם באמצעות Integer.parseInt. בבלוק ה-catch, ייירט את NumberFormatException והדפיס 'מספר לא חוקי'. בגוש הסופי, הדפס 'סוף סוף'.
הצג רמז
כתוב את מבנה הבלוק `try { ... } (NumberFormatException e) { ... } לבסוף { ... }`.
הפתרון זמין לאחר 3 ניסיונות
השלם את שיטת checkAge על ידי זריקת אי-חוקי ארגומנט עם ההודעה 'מתחת' אם הגיל שסופק הוא פחות מ-18.
הצג רמז
השתמש במילות המפתח 'אם (גיל < 18)' ובמילות המפתח 'זרוק חדש' כדי ליצור מופע ולזרוק את החריגה.
הפתרון זמין לאחר 3 ניסיונות