תכנות מתקדם ב-Java/חריגות זמן ריצה: הבדלים בין גרסאות בדף
תוכן שנמחק תוכן שנוסף
Johnny Zoo (שיחה | תרומות) אין תקציר עריכה |
Johnny Zoo (שיחה | תרומות) אין תקציר עריכה |
||
שורה 187:
}
</source>
כלל זה נוגע כמעט לכל החריגות. עם זאת, קיימים גם יוצאים מן הכלל: חריגות מהטיפוס {{קוד בשורה|Error}} ומהטיפוס {{קוד בשורה|RunTimeException}}, וכל היורשים מהם אינן דורשות הכרזה (למשל: שיטות שעשויות לזרוק {{קוד בשורה|NullPointerException}} אינן דורשות הכרזה). חריגות כאלה מכונות '''Unchecked exceptions''' (אל מול החריגות הדורשות הכרזה, המכונות '''Checked exceptions'''). ניתן לכתוב חריגות שמרחיבות את המחלקה {{קוד בשורה|RunTimeException}} ובכך להימנע מהצורך להכריז על חריגה מאותו טיפוס.▼
<source lang = "java">
שורה 202 ⟵ 201:
</source>
התוצאה של הכרזה כזו היא שכעת מי שמשתמש בשיטה חייב לדאוג לתפיסה של החריגות אותה היא זורקת,
====סוגי חריגות מיוחדים====
▲
חריגות מטיפוס Error הן חריגות מיוחדות שנזרקות כאשר התרחש אירוע חיצוני ששיבש את פעילות התוכנית (למשל: בעיית חומרה). חריגות מטיפוס RunTimeError הן חריגות שבדרך כלל מרמזות על תכנות שגוי, למשל - גישה לאובייקט שלא אותחל.
כאמור, שני סוגי חריגות אלה (ותתי המחלקות שלהן) אינם דורשים הכרזה.
===היררכייה של חריגות===
===כתיבה של מחלקות חריגות חדשות===
|