האם יש דרך לזרוק חריג מסומן משיטה שאין לה סעיף זריקה?
האם יש דרך לזרוק חריג מסומן משיטה שאין לה סעיף זריקה?

וִידֵאוֹ: האם יש דרך לזרוק חריג מסומן משיטה שאין לה סעיף זריקה?

וִידֵאוֹ: האם יש דרך לזרוק חריג מסומן משיטה שאין לה סעיף זריקה?
וִידֵאוֹ: Java Custom Exceptions Tutorial - It's Way Easier Than You Think 2024, מאי
Anonim

9 תשובות. אתה יכול לזרוק לא בדוק חריגים מבלי להכריז עליהם אם אתה באמת רוצה. לא בדוק חריגים הארכת RuntimeException. זריקה שמרחיבה שגיאה הם גם לא מסומן, אבל צריך ישמש רק לבעיות רציניות באמת (כגון קוד בתים לא חוקי).

פשוט כך, האם נוכל לזרוק חריג מסומן?

אבל אם אנחנו זורקים א מסומן חריג באמצעות לזרוק הַצהָרָה, אָנוּ חייב או לטפל יוצא מן הכלל ב-catch block או שיטה הרבה להכריז עליו במפורש באמצעות זורק הַצהָרָה. ב-Java, כל תת מחלקה של Error ו-RuntimeException אינה מסומנת יוצא מן הכלל . א מסומן חריג הוא כל השאר תחת הכיתה Throwable.

יתר על כן, האם אנו יכולים לזרוק חריג ללא זריקות? אתה יכול לזרוק לא בדוק חריגים ללא צריך להכריז עליהם אם אתה באמת רוצה. לא בדוק חריגים הארכת RuntimeException. Throwables שמרחיבים את Error גם אינם מסומנים, אך יש להשתמש בהם רק עבור בעיות רציניות באמת (כגון קוד בתים לא חוקי).

יתר על כן, מה קורה כאשר אתה זורק חריג מסומן משיטה?

בדק חריגים הם בָּדוּק בזמן הקומפילציה. זה אומר שאם א שיטה הוא לזרוק חריג מסומן ואז זה צריך לטפל ב יוצא מן הכלל באמצעות בלוק try-catch או זה צריך להכריז על יוצא מן הכלל באמצעות זורק מילת מפתח, אחרת התוכנית תציג שגיאת קומפילציה.

באיזו מילת מפתח יש להשתמש בכותרת המתודה עבור שיטה שעלולה לזרוק חריג מסומן אם החריגה אינה מטופלת בתוך השיטה?

ה לזרוק מילת מפתח בג'אווה הוא בשימוש למפורש לזרוק an יוצא מן הכלל מ שיטה או כל בלוק שֶׁל קוד. אָנוּ יכול לזרוק אוֹ בָּדוּק או לא מסומן יוצא מן הכלל.

מוּמלָץ: