Java/בדיקת שגיאות: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
אין תקציר עריכה
שורה 1:
{{לשכתובJava}}
 
'''בדיקת שגיאות''' (או ''troubleshooting'') היא דרך להתגבר ולמנוע שגיאות בתוכנית.<br/>
{{LettersTOC}}
אם קראתם את הספר עד לכאן,בוודאי קראתם שחשוב לשמור על הקוד ולצפות לדברים לא צפויים.<br/>
מפתחי השפה עזרו לנו לעשות זאת בעזרת שני בלוקים try ו- catch ,משתמשים ב- try כשהנכם בטוחים שיכולה לקרות נפילה של התוכנית, אם הנכם השתמשתם ב- try הנכם חייבים להשתמש ב- catch, בלוק ה- catch בודק אם קרתה נפילה אז הנכם יכולים לעצור זאת.<br/>
<br/>
'''ישנם שני סוגי נפילות אפשריות:'''<br/>
''Error'' - בדרך כלל גורם לנפילת התוכנית.<br/>
''Exception'' - בדרך כלל שגיאה קלה שהתוכנית מסוגלת להמשיך לרוץ, אח רק עם היא נתפסת.<br/>
<br/>
== חריגים (Exceptions) ==
שפת תכנות Java משתמשת ב- exceptions כדי לטפל בשגיאות ואירועים חריגים אחרים. שיעור זה מתאר מתי וכיצד להשתמש בחריגים.<br/>
 
=== מזה חריג? ===
''exceptions'' הוא אירוע המתרחש במהלך הביצוע של תכנית שמפריעה לזרימה התקינה של הוראות.<br/>
 
כאשר מתרחשת שגיאה בשיטה, השיטה יוצרת אובייקט ומעבירה אותו למערכת זמן הריצה ''(runtime system)''. האובייקט, הנקרא ''אובייקט חריג'', מכיל מידע אודות השגיאה, איזה סוג של שגיעה ואת מצב התכנית כאשר אירעה השגיאה. יצירתו של אובייקט חריג ומסירתו למערכת זמן הריצה נקראת ''לזרוק חריג'' ''(throwing an exception)''.<br/>
תחביר התפיסות הוא כזה:<br/>
 
<div style="direction: ltr;"><br/>
לאחר ששיטה זורקת חריג, מערכת זמן הריצה מנסה למצוא משהו כדי להתמודד עם השגיאה. הרשימה של "משהו-אים" שיכולים לטפל בחריג הוא הרשימה מסודרות של שיטות שנקראו ע"י השיטה שבה אירעה השגיאה. רשימה זו ידועה בשם ''ערימת הקריאה'' או 'call stack'(ראה בתרשים הבא).
try
{
. . .
}
catch(IOException ioe)
{
. . .
}
catch(Exception e)
{
. . .
}
</div>