Java:
טיפול בשגיאות
איך לעשות:
ג’אווה משתמשת בחריגים (exceptions) לטיפול בשגיאות. אתה מקיף קוד בעל סיכון לאיונים בבלוק try
ותופס חריגים באמצעות catch
. הנה דוגמה פשוטה:
public class ErrorHandlingExample {
public static void main(String[] args) {
try {
int result = divide(10, 0);
System.out.println("התוצאה היא: " + result);
} catch (ArithmeticException e) {
System.out.println("אופס, לא ניתן לחלק באפס!");
}
}
private static int divide(int molecule, int denominator) {
return molecule / denominator;
}
}
פלט:
אופס, לא ניתן לחלק באפס!
צלילה עמוקה
טיפול בשגיאות בג’אווה השתנה לאורך השנים. בתחילת הדרך לא היו חריגים; המתכנתים בדקו קודי שגיאה. לאחר מכן ג’אווה הציגה בלוקי try-catch, שמאפשרים טיפול יותר אלגנטי בשגיאות.
אלטרנטיבות לtry-catch
המסורתי כוללות את try-with-resources
לסגירת משאבים אוטומטית וקוד נקי יותר, שהוצג בג’אווה 7.
פרטי המימוש חשובים. לדוגמה, לתפוס Exception
או Throwable
בדרך כלל נחשב לתרגול רע. זה רחב מדי ויכול להסתיר באגים שאולי אתה לא מודע להם. עדיף להתמקד בחריגים ספציפיים.
ראה גם
- המדריכים הרשמיים של אורקל לג’אווה על חריגים: https://docs.oracle.com/javase/tutorial/essential/exceptions/
- תיעוד ההצהרה של ג’אווה
try-with-resources
: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html - Effective Java מאת ג’ושוע בלוך, למיטב התרגולים בנושא חריגים.