כיצד לטפל בחריגים מותאמים אישית ב- Java?



מאמר זה יעזור לך להבין חריגים מותאמים אישית ב- Java והוא יתמוך בהסבר בהדגמה מעשית של הרעיון.

מספק למשתמש אפשרות ליצור חריגים משלו. חריגים כאלה נקראים חריגים מותאמים אישית או חריגים שהוגדרו על ידי המשתמש. במאמר זה נחקור חריגים מותאמים אישית ב- Java.

המצביעים הבאים יוסקרו במאמר זה,





תחילת העבודה מאמר זה בנושא חריגים מותאמים אישית ב- Java.

חריגים מותאמים אישית ב- Java

ניתן ליצור חריגים מותאמים אישית כדלקמן,



[Java]
// מחלקה המייצגת חריג המוגדר על ידי המשתמש
class InvalidAgeException מרחיב חריג {
InvalidAgeException (מחרוזות) {
סופר (ים)
}
}
[/ java]

טבלה מחזורית של כלים devops
// מחלקה המשתמשת בבדיקת מחלקה InvalidAgeException {valid static void valid (int age) זורק InvalidAgeException {if (age<18) throw new InvalidAgeException('Invalid') else System.out.println('Eligible to Drive') } public static void main(String args[]){ try{ validate(15) }catch(Exception m){System.out.println('Exception: '+m)} System.out.println('Exit') } } 

תְפוּקָה:

חריג: Invalid AgeException: לא חוקי



יְצִיאָה

ממשיך הלאה עם מאמר זה על חריגים מותאמים אישית ב- Java.

ההבדל בין ערך מעבר לפי העברה לפי הפניה ב- Java

צורך בחריגים מותאמים אישית

לעתים קרובות, המתכנת מוצא את הצורך לציין את החריג שלו.

הסיבות להצגת חריגים אלה יכולות להיות כדלקמן:

  • ישנם חריגים מסוימים המוגדרים רק עבור לוגיקה עסקית וזרימת עבודה. זה מאפשר למשתמשים לקבוע את מקור הבעיה.
  • לתפוס ולטפל בחריגי Java הקיימים או שהוגדרו בעבר.

Java מספקת למשתמש שני יוצאים מהכלל:

  • חריג מסומן בהתאמה אישית
  • חריג מותאם אישית שאינו מסומן

ממשיך הלאה עם מאמר זה על חריגים מותאמים אישית ב- Java.

חריגים שנבדקו בהתאמה אישית

החריגים המסומנים המותאמים אישית הם חריגים המרחיבים את java.lang.Exception. הם ניתנים לשחזור ומטופלים במפורש. בדוגמה הבאה, נכתב קוד להחזרת השורה הראשונה של הקובץ כפלט:

נסה (קובץ סורק = סורק חדש (קובץ חדש (fileName))) {אם (file.hasNextLine ()) להחזיר file.nextLine ()} לתפוס (FileNotFoundException e) {}

הקוד משליך את החריג FileNotFound. הגורם לחריג זה אינו ידוע למשתמש. איננו מודעים למקור החריג, בין אם הוא נגרם בגלל אי ​​קיום הקובץ ובין אם בגלל שם קובץ לא חוקי. ליישום חריג מותאם אישית, מחלקת java.lang.Exception מורחבת.

מחלקה ציבורית InvalidFileNameException מרחיב חריג {public InvalidFileNameException (מחרוזת errorMessage) {super (errorMessage)}}

נוצר חריג מותאם אישית שנקרא InvalidFileNameException.

יש לספק קונסטרוקטור בעת יצירת החריג. במקרה שלנו, הקונסטרוקטור לוקח את מחרוזת כהודעת השגיאה, וקורא לבנאי הכיתה ההורה.

שיעור סורק בדוגמאות Java
נסה (קובץ סורק = סורק חדש (קובץ חדש (fileName))) {אם (file.hasNextLine ()) להחזיר file.nextLine ()} לתפוס (FileNotFoundException e) {if (! isCorrectFileName (fileName)) {זרוק InvalidFileNameException חדש ((נסה) 'שם קובץ לא חוקי:' + fileName)}}

למרות שהמשתמש מודע כעת לחריג המדויק, איבדנו את הסיבה הבסיסית לחריג. ניתן לתקן זאת על ידי הוספת java.lang.Trowable לבנאי. כעת ניתן להשתמש ב- InvalidFileNameException עם הסיבה הבסיסית לחריג:

ציבורי InvalidFileNameException (מחרוזת errorMessage, שגיאה שגיאה) {super (errorMessage, err)}

ממשיך הלאה עם מאמר זה על חריגים מותאמים אישית ב- Java

חריגים מותאמים אישית שלא מסומנים

החריגים המסומנים המותאמים אישית מאריכים את java.lang.RuntimeException. הם בלתי ניתנים לשחזור באופיים.

מחלקה ציבורית InvalidFileExtensionException מרחיב RuntimeException {public InvalidFileExtensionException (מחרוזת errorMessage, שגיאה שגיאה) {super (errorMessage, err)}}

חריג זה משמש באופן הבא:

נסה (קובץ סורק = סורק חדש (קובץ חדש (fileName))) {אם (file.hasNextLine ()) {return file.nextLine ()} אחר {זורק IllegalArgumentException ('הקובץ אינו קריא.')}} לתפוס ( שגיאת FileNotFoundException) {if (! IsCorrectFileName (fileName)) {throw new InvalidFileNameException ('שם קובץ לא חוקי:' + fileName, err)}} catch (IllegalArgumentException err) {if (! ContainExtension (fileName)) {throw new InvalidFileExtensionException אין שום סיומת: '+ fileName, err)}}

חריגים שהוגדרו על ידי משתמשים הם חיוניים מכיוון שהם מאפשרים לנו להגדיר חריגים שהם שלנו.

לפיכך הגענו לסוף מאמר זה. אם ברצונך ללמוד עוד, עיין ב- Java Training של Edureka, חברת למידה מקוונת אמינה. קורס ההכשרה וההסמכה של Java J2EE ו- SOA של אדוריקה נועד להכשיר אותך למושגי ליבה מרכזיים ומתקדמים יחד עם מסגרות Java שונות כמו Hibernate & Spring.

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