תכנות מתקדם ב-Java/חריגות זמן ריצה: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Gran (שיחה | תרומות)
ביטול גרסה 79834 של 84.229.155.32 (שיחה)
שורה 202:
התוצאה של הכרזה כזו היא שכעת מי שמשתמש בשיטה חייב לדאוג לתפיסה של החריגות אותה היא זורקת, אם זה באמצעות בלוק Try-Catch, ואם באמצעות הוספה של הכרזת throws באותה השיטה, שמשמעותה - זריקה של אותה חריגה הלאה.
 
=========סוגי חריגות מיוחדים=======
הכלל שראינו נוגע כמעט לכל החריגות. עם זאת, קיימים גם יוצאים מן הכלל: חריגות מהטיפוס {{קוד בשורה|Error}} ומהטיפוס {{קוד בשורה|RunTimeException}}, וכל היורשים מהם אינן דורשות הכרזה (למשל: שיטות שעשויות לזרוק {{קוד בשורה|NullPointerException}} אינן דורשות הכרזה). חריגות כאלה מכונות '''Unchecked exceptions''' (אל מול החריגות הדורשות הכרזה, המכונות '''Checked exceptions'''). ניתן לכתוב חריגות שמרחיבות את המחלקה {{קוד בשורה|RunTimeException}} ובכך להימנע מהצורך להכריז על חריגה מאותו טיפוס.